인스턴스
클래스는 설계도와 같은 역할을 한다.
신이 사람이라는 클래스라고 만들 때 기본적인 설계도만 만들어진 상태로 만들어 두고. 사람이라는 객체에 다양성을 위해서 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 |