오늘보다 더 나은 내일의 나에게_

클래스 / 객체 / 인스턴스 본문

JAVA

클래스 / 객체 / 인스턴스

chan_96 2022. 1. 11. 19:16
728x90

클래스

- 필드(데이터, 속성, 변수)와 메서드(행위)를 가지고 있는 집합이다.
- 객체를 생성하기 위한 이다.
- class키워드로 정의하고, new연산자를 통해서 인스턴스를 생성한다.

*클래스에서 객체를 생성하는 과정을 인스턴스화라고 하며, 생성된 객체를 인스턴스라고 한다.*

 

객체와 인스턴스

Animal cat = new Animal()
이렇게 만들어진 cat은 객체이다. 그리고 cat이라는 객체는 Animal의 인스턴스(instance)이다.
인스턴스라는 말은 특정 객체(cat)가 어떤 클래스(Animal)의 객체인지를 관계위주로 설명할 때 사용된다.

즉, "cat은 인스턴스" 보다는 "cat은 객체"라는 표현이 "cat은 Animal의 객체" 보다는 "cat은 Animal의 인스턴스" 라는 표현이 훨씬 잘 어울린다.

객체 ⊃ 인스턴스

 

 

클래스 구조

fields (상태) - 상태를 정의하는 필드!

method(동작) - 동작을 정의하는 메소드!

=> 클래스는 필드(상태), 메소드(동작)로 구성

 

클래스 예시

고양이 예시

클래스 이름 -> Cat
필드 - > name, breeds, weight
메소드 -> claw(), meow()




Cat cat = new Cat();
=> 참조변수 자료형 + 참조변수명 = new(메모리 내 인스턴스 생성) + Cat( ) (생성자 호출)

 

생성자(Constructor)란?

클래스 내에서 인스턴스가 생성될 때 호출되는 특별한 형태의 '인스턴스 초기화 메서드'이다.

 

인스턴스가 생성될 때 같이 생성되어 인스턴스 변수들을 초기화(0으로 만드는게 아니라 값을 지정)하거나

인스턴스 생성시 실행할 작업 등을 위해 사용된다.

 

● 생성자의 이름은 클래스의 이름과 같아야 한다.

● 생성자는 리턴값이 없다.

 

생성자는 아무런 매개변수도 받지 않는 기본 생성자

매개변수를 받아서 인스턴스 초기화 작업을 할 수 있는 생성자 둘로 나뉜다.

 

 

728x90

'JAVA' 카테고리의 다른 글

Java 배열  (0) 2022.01.13
Java 반복문  (0) 2022.01.13
Java 조건문  (0) 2022.01.12
Java 자료형과 연산자  (0) 2022.01.12
Java 자바특징 및 변수  (0) 2022.01.12
Comments