English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 기본 튜토리얼

Java 흐름 제어

Java 배열

Java 객체 지향(I)

Java 객체 지향(II)

Java 객체 지향(III)

Java 예외 처리

Java 리스트(List)

Java Queue(큐)

Java Map集合

Java Set集合

Java 입력 출력(I/O)

Java Reader/Writer

Java 다른 주제

Java 클래스와 객체

이 튜토리얼에서는 Java의 객체 지향 프로그래밍을 배우고, 예제를 통해 Java 클래스와 객체를 배웁니다.

Java는 객체 지향 프로그래밍 언어입니다. 그것은 객체 개념에 기반합니다.

이 객체는 두 가지 특징을 가지고 있습니다:

  • 상태(필드)

  • 행동(메서드)

예를 들어,

  1. 빛은 객체입니다
    상태:빛나거나 안빛나는
    행동:켜기 또는 꺼기

  2. 모터바이크는 객체입니다
    상태:현재 변속 단계,2개의 바퀴,변속 단계 수
    행동:브레이크가속, 변속 등

객체 지향 프로그래밍의 원리:

 객체 지향 프로그래밍의 중요한 점은 복잡한 프로그래밍 작업을 필드(데이터 저장)와 메서드(필드에 대한 작업)를 포함한 객체로 분할하는 것입니다.

Java 클래스

Java에서 객체를 생성하기 전에 클래스를 정의해야 합니다. 클래스는 객체의 블루프리ント입니다.

클래스를 집의 스케치(원형)로 볼 수 있습니다. 바닥, 문, 창 등의 모든 상세 정보가 포함되어 있습니다. 이 설명을 기반으로 집을 짓습니다. 집은 객체입니다.

같은 설명으로 많은 집을 만들 수 있기 때문에, 하나의 클래스를 기반으로 많은 객체를 생성할 수 있습니다.

Java에서 클래스를 어떻게 정의하나요?

이렇게 Java에서 클래스를 정의하는 방법입니다:

class ClassName {
   // 속성
   // 메서드
}

예를 들어,

class Lamp {
  //인스턴스 변수
  private boolean isOn;
  // 메서드
  public void turnOn() {
    isOn = true;
  }
  // 메서드
  public void turnOff() {
  	isOn = false;
  }
}

여기서 우리는 Lamp이라는 클래스를 생성했습니다.

 이 클래스는 isOn이라는 변수와 turnOn()와 turnOff() 메서드가 있습니다. 클래스에서 정의된 이러한 변수와 메서드는 클래스의}}멤버.

위 예제에서는 키워드 private와 public을 사용했습니다. 이들은 접근 수정자로 불립니다. 더 많은 정보를 알고 싶다면, 다음을 방문하세요Java 접근修饰符.

Java 객체

객체는 클래스의 인스턴스로 불립니다. 예를 들어, Animal이 클래스라면 Cat, Dog, Horse 등 모두 Animal 클래스의 인스턴스로 간주될 수 있습니다.

Java로 객체를 생성할 수 있는 방법:

className object = new className();

 여기서, 생성자 className()를 사용하여 객체를 생성합니다. 생성자는 클래스의 이름과 같으며, 메서드와 유사합니다. Java 생성자에 대한更多信息을 알고 싶다면, 다음을 방문하세요Java 생성자.

Lamp 클래스의 객체를 어떻게 생성하는지 보겠습니다.

// l1 객체를 생성했습니다
Lamp l1 = new Lamp();
// l2 객체를 생성했습니다
Lamp l2 = new Lamp();

 여기서, Lamp 클래스(Lamp())의 생성자를 사용하여 l1와 l2의 객체.

객체는 클래스의 멤버에 접근하기 위해 사용됩니다. Lamp 클래스의 객체를 생성해 보겠습니다

멤버에 접근하는 방법?

객체는 클래스의 멤버에 접근하기 위해 사용됩니다. 우리는 . 연산자를 사용하여 멤버에 접근할 수 있습니다(메서드 호출 및 인스턴스 변수 접근). 예를 들어,

class Lamp {
    turnOn() {...}
}
//객체 생성
Lamp l1 = new Lamp();
//메서드 turnOn() 접근
l1.turnOn();

 이 문장은 l1Lamp 클래스의 turnOn() 메서드

저희는 여러 번 언급했습니다메서드단어. 다음 장에서 자세히 설명할 것입니다Java 메서드다음은 필요한 정보입니다:

 위 문장을 사용하여 메서드를 호출할 때, turnOn() 메서드 바디에 있는 모든 문장이 실행됩니다. 그런 다음, 프로그램의 제어가 l로 돌아갑니다1.turnOn() 뒤의 문장;

Java 메서드 작업 흐름도

또한, 다음과 같은 방식으로 인스턴스 변수에 접근할 수 있습니다:

class Lamp {
    boolean isOn;
}
//객체 생성
Lamp l1 = new Lamp();
// 메서드 turnOn() 접근
l1.isOn = true;

예제: Java 클래스와 객체

class Lamp {
    boolean isOn;
    void turnOn() {
        // true 값으로 초기화된 변수
        isOn = true;
        System.out.println("불빛 켜기? " + isOn);
    }
    void turnOff() {
        //false 값으로 초기화된 변수
        isOn = false;
        System.out.println("불빛 켜기? " + isOn);
    }
}
class Main {
    public static void main(String[] args) {
  
        //객체 l 생성1와 l2
        Lamp l1 = new Lamp();
        Lamp l2 = new Lamp();
  
        //메서드 turnOn()와 shutdown()() 호출
        l1.turnOn();
        l2.turnOff();
    }
}

출력:

불빛 켜기? true
불이 켜져 있습니까? false

위의 프로그램에서

  1. 우리는 Lamp 클래스를 생성했습니다.

  2.  이 클래스는 isOn 인스턴스 변수와 turnOn() 및 turnOff() 두 가지 메서드를 가지고 있습니다.

  3. 내부 Main 클래스에서, 우리는 Lamp 클래스의 두 개의 객체 l1와 l2.

  4.  그런 다음 우리는 l1객체가 turnOn()를 호출합니다. l2객체가 turnOff()를 호출합니다:  

    l1.turnOn();
    l2.turnOff();
  5.  메서드의 역할은 l1객체의 isOn 변수를 true로 설정하고 출력합니다. 그리고 turnOff() 메서드는 l2객체의 isOn 변수를 false로 설정하고 출력합니다.

주의:클래스에서 정의된 변수는 인스턴스 변수라고 불리는 이유가 있습니다. 객체가 생성될 때, 그것은 클래스의 인스턴스라고 불립니다. 각 인스턴스는 클래스에서 정의된 변수의 복사본을 포함합니다. 따라서 인스턴스 변수라고 합니다. 예를 들어, 객체 l1와 l2의 isOn 변수는 다릅니다.

다음 튜토리얼에서는 Java의 객체 지향 프로그래밍에 대해 더 많은 내용을 탐구할 것입니다.