산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

Java 클래스와 객체: 실전 가이드

Java 클래스와 객체

Java의 클래스와 객체 모델이 실제 개념을 재사용 가능한 코드로 바꾸는 방법을 알아보세요.

Java는 근본적으로 객체 지향입니다. 복잡한 문제를 관리 가능하고 독립적인 엔티티(객체)로 분해합니다. 각 객체는 상태와 행동을 가집니다.

객체는 데이터(상태)를 보유하고 행동(동작)을 제공하는 모든 것이 될 수 있습니다. 예를 들어 자전거는:

객체로 들어가기 전에 객체를 정의하는 청사진인 클래스를 탐구해 봅시다.


Java 클래스

클래스는 객체가 인스턴스화되는 템플릿입니다. 집 설계도가 층, 문, 창문을 지정하는 것처럼 생각하세요. 같은 설계도에서 여러 집을 지을 수 있듯, 단일 클래스에서 많은 객체를 생성할 수 있습니다.


Java에서 클래스 생성

class 키워드로 클래스 정의:

class ClassName {
    // 필드
    // 메서드
}

필드(변수)는 객체 상태를 저장하고 메서드는 행동을 캡슐화합니다.

예: Bicycle 클래스.

class Bicycle {
    // 상태
    private int gear = 5;
    // 행동
    public void braking() {
        System.out.println("브레이크 작동");
    }
}

여기서 Bicycle은 프로토타입입니다. 같은 구조를 공유하지만 독립적인 데이터를 보유하는 여러 자전거 인스턴스를 생성할 수 있습니다.

참고: private과 public은 가시성을 제어하는 접근 한정자입니다. 자세한 내용은 Java 접근 한정자 참조.


Java 객체

객체는 클래스의 인스턴스입니다. 예: Bicycle은 클래스이고 MountainBicycle, SportsBicycle, TouringBicycle 등은 해당 클래스에서 파생된 개별 객체입니다.

Java에서 객체 생성

new 키워드와 클래스 생성자로 객체 인스턴스화:

className object = new className();
// Bicycle 예
Bicycle sportsBicycle = new Bicycle();
Bicycle touringBicycle = new Bicycle();

생성자는 클래스 이름과 같은 특수 메서드입니다. 더 알아보려면 Java 생성자 탐색.

sportsBicycle과 touringBicycle 같은 이름은 각 인스턴스에 대한 참조 역할을 합니다.

동일 클래스의 여러 인스턴스는 서로 간섭 없이 공존할 수 있습니다.

참고: 클래스 필드와 메서드는 총칭하여 멤버라고 합니다.


클래스 멤버 접근

객체 참조와 점 연산자로 멤버에 접근:

class Bicycle {
    int gear = 5;
    void braking() {
        // ...
    }
}
Bicycle sportsBicycle = new Bicycle();
sportsBicycle.gear;
sportsBicycle.braking();

여기서 sportsBicycle은 gear 필드를 읽고 braking() 메서드를 호출합니다.

다음 장에서 Java 메서드를 깊이 탐구합니다.

아래는 이 개념들을 연결하는 완전한 예제입니다.


예제: Java 클래스와 객체

class Lamp {
    // 램프가 켜져 있는지 추적
    boolean isOn;
    void turnOn() {
        isOn = true;
        System.out.println("Light on? " + isOn);
    }
    void turnOff() {
        isOn = false;
        System.out.println("Light on? " + isOn);
    }
}
class Main {
    public static void main(String[] args) {
        Lamp led = new Lamp();
        Lamp halogen = new Lamp();
        led.turnOn();
        halogen.turnOff();
    }
}

출력:

Light on? true
Light on? false

이 프로그램에서 Lamp는 인스턴스 변수 isOn과 이를 조작하는 두 메서드를 정의합니다. Main 클래스는 두 램프 객체 led와 halogen을 생성하고 메서드를 독립적으로 호출합니다.

각 객체는 자체 isOn 복사본을 보유하므로 한 램프 조작이 다른 램프에 영향을 주지 않습니다.


예제: 같은 클래스 내부에서 객체 생성

객체는 정의하는 같은 클래스 내부에서도 인스턴스화할 수 있습니다. 방법은 다음과 같습니다:

class Lamp {
    boolean isOn;
    void turnOn() {
        isOn = true;
        System.out.println("Light on? " + isOn);
    }
    public static void main(String[] args) {
        Lamp led = new Lamp();
        led.turnOn();
    }
}

출력

Light on? true

이 패턴은 메인 로직이 같은 클래스 내에 있는 작은 데모나 유틸리티 클래스에 유용합니다.

java

  1. C++ 클래스와 객체: 객체지향 프로그래밍 실전 가이드
  2. Java 변수와 리터럴: 종합 가이드
  3. Java final 키워드 마스터: 변수, 메서드, 클래스에서의 활용
  4. Java instanceof 연산자 완벽 가이드: 기본 사용법부터 상속, 인터페이스까지
  5. Java 추상 클래스와 메서드 완벽 가이드
  6. Java 중첩/내부 클래스 마스터: 종류, 예제, 모범 사례
  7. Java 정적 중첩 클래스 이해: 용법, 내부 클래스와의 차이, 예제
  8. Java 익명 내부 클래스 마스터: 정의, 문법, 실전 예제
  9. Java 싱글톤 패턴 완벽 가이드: 안전하게 구현하고 사용하기
  10. Java 리플렉션 마스터: 런타임에 클래스, 메서드, 필드 검사 및 조작