English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 튜토리얼에서는 Java의 객체 지향 프로그래밍을 배우고, 예제를 통해 Java 클래스와 객체를 배웁니다.
Java는 객체 지향 프로그래밍 언어입니다. 그것은 객체 개념에 기반합니다.
이 객체는 두 가지 특징을 가지고 있습니다:
상태(필드)
행동(메서드)
예를 들어,
빛은 객체입니다
상태:빛나거나 안빛나는
행동:켜기 또는 꺼기
모터바이크는 객체입니다
상태:현재 변속 단계,2개의 바퀴,변속 단계 수등
행동:브레이크가속, 변속 등
객체 지향 프로그래밍의 중요한 점은 복잡한 프로그래밍 작업을 필드(데이터 저장)와 메서드(필드에 대한 작업)를 포함한 객체로 분할하는 것입니다.
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 접근修饰符.
객체는 클래스의 인스턴스로 불립니다. 예를 들어, 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() 뒤의 문장;
또한, 다음과 같은 방식으로 인스턴스 변수에 접근할 수 있습니다:
class Lamp { boolean isOn; } //객체 생성 Lamp l1 = new Lamp(); // 메서드 turnOn() 접근 l1.isOn = true;
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
위의 프로그램에서
우리는 Lamp 클래스를 생성했습니다.
이 클래스는 isOn 인스턴스 변수와 turnOn() 및 turnOff() 두 가지 메서드를 가지고 있습니다.
내부 Main 클래스에서, 우리는 Lamp 클래스의 두 개의 객체 l1와 l2.
그런 다음 우리는 l1객체가 turnOn()를 호출합니다. l2객체가 turnOff()를 호출합니다:
l1.turnOn(); l2.turnOff();
메서드의 역할은 l1객체의 isOn 변수를 true로 설정하고 출력합니다. 그리고 turnOff() 메서드는 l2객체의 isOn 변수를 false로 설정하고 출력합니다.
주의:클래스에서 정의된 변수는 인스턴스 변수라고 불리는 이유가 있습니다. 객체가 생성될 때, 그것은 클래스의 인스턴스라고 불립니다. 각 인스턴스는 클래스에서 정의된 변수의 복사본을 포함합니다. 따라서 인스턴스 변수라고 합니다. 예를 들어, 객체 l1와 l2의 isOn 변수는 다릅니다.
다음 튜토리얼에서는 Java의 객체 지향 프로그래밍에 대해 더 많은 내용을 탐구할 것입니다.