JAVA,객체지향

클래스? 오브젝트? 인스턴스???

25G 2021. 11. 21. 11:43

인스턴스

클래스는 설계도와 같은 역할을 한다. 

신이 사람이라는 클래스라고 만들 때 기본적인 설계도만 만들어진 상태로 만들어 두고. 사람이라는 객체에 다양성을 위해서 new 해서 사람이 java세상에 태어날 때 생성자의 매개변수를 통해서 다양성을 제공받는다.

new 해서 만들어질때 메모리에 heap공간에 뜨는데 이 new를 통해서 메모리에 뜬것들을 인스턴스라고 한다.

 

 

오브젝트

구체적인것(셀 수 있는 것) 영어에서는 물질 명사라고 한다.

그럼 이 구체적인것이 무엇이 있을까?

위 그림을 보면 의자 침대 탁자는 구체적이고 셀 수 있는 것들이지만 가구라는 것은 굉장히 추상적이다. 이런 것을 영어에서는 추상명사라고 한다.

가구는 실제 존재 할 수 없는 것이기 때문이다.

예를 들어서 집에 의자를 들일수는 있지만 가구라는 것은 들일수 없기 때문. 애초에 가구는 굉장히 추상적인 계념이기 때문이다.

그래서 이를 java 세상에 대입해보면

 

신이 클래스를 만들 때

의자 클래스는 new로 해서 만들어 낼 수 있지만 가구 클래스는 존재할 수는 있지만 new 해서 이 java세상에 존재할 수는 없다.

 

 

정리

클래스 = 설계도

인스턴스 = new 된 것

오브젝트 = new가 가능한 것

 

'JAVA,객체지향' 카테고리의 다른 글

오버로딩과 오버로딩의 한계  (0) 2021.11.25
다형성  (0) 2021.11.21
클래스만들기/생성자/this  (0) 2021.11.20
자료형이란?  (0) 2021.11.18
AWT/JFrame 사용해서 그림그려보기  (0) 2021.11.17