"안녕, 아미고!"

"안녕, 엘리!"

"오늘은 Java의 클래스에 대해 많은 것을 알려드리려고 합니다."

" 설명 번호 1 . 비유부터 시작하겠습니다. 물질 세계의 모든 것은 원자로 구성됩니다. 원자에는 다양한 유형이 있습니다: 수소, 산소, 철, 우라늄… 이러한 원자의 조합은 다른 분자, 물질 및 사물."

"이 원자는 전자와 양성자와 중성자로 구성된 핵과 같은 일부 내부 구조를 가지고 있습니다."

"네, 저는 원자의 구조에 대해 조금 알고 있습니다. 결국 저는 로봇입니다!"

"Java의 세계는 비슷한 방식으로 구성되어 있습니다. 프로그램은 다양한 유형의 개체(클래스)로 구성됩니다. 다른 클래스는 차례로 다른 내부 구조(변수 및 메서드)를 포함합니다."

"프로그램 전체를 보면 구성 요소는 객체입니다. 클래스는 블록의 유형입니다. 즉, 다른 유형의 블록은 다른 클래스의 객체입니다. "

"이해한 것 같아요."

" 설명 2번 . 새 객체 유형이 필요할 때 새 클래스를 만들고 내부 객체가 작동하는 방식을 정의합니다. "

"조금 너무 일반적으로 들리네요. 분명한 것 같지만 구체적으로 말씀하지 않으셨습니다."

"내부 구조 측면에서 클래스는 무언가를 수행하는 메서드와 데이터를 저장하기 위해 메서드에서 사용하는 변수로 구성됩니다. "

"그러면 클래스가 메서드 집합이라고 말하는 것이 더 간단할까요?"

"거의. 더 정확히 말하면 클래스는 서로 다른 값을 저장하기 위해 이러한 메소드에서 사용되는 관련 메소드 및 공유 변수의 그룹입니다."

"그렇군요. 새로운 클래스를 만들려면 먼저 이 메소드들을 작성해야 합니다..."

"예. 그리고 우리는 또한 서로 다른 메서드가 공유할 변수를 결정해야 합니다. 이러한 변수를 메서드에서 꺼내 클래스에 넣습니다. 즉, 로컬 변수를 멤버(인스턴스) 변수로 바꿉니다."

"기본적으로 클래스는 다음과 같이 생성됩니다.

1. 프로그래머는 필요한 다른 개체를 결정합니다.

2. 프로그래머는 수행할 작업에 따라 이러한 개체를 다른 유형으로 나눕니다.

3. 프로그래머는 각 유형에 대해 별도의 클래스를 작성합니다.

4. 클래스에서 필요한 메서드와 변수를 선언합니다.

5. 각 메서드에서 원하는 작업을 수행하도록 하는 명령을 작성합니다.

6. 수업이 준비되었습니다. 이제 클래스의 개체를 만들 수 있습니다."

"멋지다! 정말 흥미로운 패턴이군! 기억해둬야겠어."

"기억해 두세요. 도움이 될 겁니다. 프로그램을 객체로 나누어야 한다는 프로그래밍 철학을 객체지향 프로그래밍 ( OOP ) 이라고 합니다 ."

"Java는 OOP 언어의 전형적인 예입니다. Java에서는 모든 것이 객체입니다."

"Java 공부는 두 가지 큰 작업으로 구성됩니다. 자신의 클래스를 작성하는 방법을 배우는 것과 다른 사람의 클래스를 사용하는 방법을 배우는 것입니다 . 오늘은 이 중 가장 간단한 것부터 시작하겠습니다. 가장 간단한 클래스를 작성하는 방법과 물론 , 이러한 클래스의 개체를 만드는 방법. 개체는 종종 클래스의 '인스턴스'라고도 합니다. 동의어이며 두 표현이 모두 맞습니다."

"알았어요."

"요약하면 클래스는 미니 프로그램이라고 말할 수 있습니다. 일부 데이터와 데이터를 사용하여 무언가를 수행하는 함수입니다. 클래스는 개체라고도 하는 클래스의 인스턴스를 만드는 데 사용됩니다. "

"개체를 생성하려면 new class_name()코드에 ' '를 작성하십시오. 다음은 몇 가지 예입니다."

Cat cat = new Cat();
Reader reader = new BufferedReader(new InputStreamReader(System.in));
InputStream is = new FileInputStream(path);

"개체에는 두 가지 흥미로운 속성이 있습니다."

" 먼저 . 각 개체는 인스턴스 변수의 자체 복사본을 저장합니다. 즉, 인스턴스 변수 x 및 y가 클래스에서 선언되고 해당 클래스의 10개 개체가 생성된 경우 각 개체는 자체 변수를 갖게 됩니다 . 개체는 다른 개체의 변수에 영향을 주지 않습니다. "

" 둘째 . 개체를 만들 때 다른 인수를 전달할 수 있습니다. 이 값은 개체를 초기화하는 데 사용됩니다. 신생아 이름 지정과 약간 비슷합니다. 많은 클래스에는 클래스의 인스턴스(개체)를 만들기 위해 이러한 인수가 필요합니다. "

"알겠습니다. 인스턴스 변수에 대해 뭐라고 하셨습니까?"

"각 개체에는 자체 데이터가 있습니다. 인스턴스 변수입니다."

자바 코드 화면 출력:
Cat cat1 = new Cat();
cat1.name =  "Oscar";

Cat cat2 = new Cat();
cat2.name = "Smudge";

System.out.println(cat1.name);
System.out.println(cat2.name);
오스카
스머지