본문 바로가기
JAVA

클래스, 객체, 인스턴스

by 김마리님 2020. 3. 27.

객체란, 추상적이지 않은 모든 것을 의미한다. 

추상적이지 않다는 말을 잘 생각해보자.

우리는 실질적으로 '동물' 이라는 것을 본적은 없다. 다만 '사자', 나 '호랑이', '강아지' 와 같은 생물을 보았을 뿐이다.

따라서 '동물' 이라는 단어는 추상적인 단어이고, '사자'나 '호랑이' 등이 훨씬 구체적인 단어이다. 이렇게 구체적인 것을 객체라고 한다. 

객체는 클래스에 선언된 그대로 생성되어 존재한다.

 

클래스란 일종의 설계도와 같다.

같은 설계도가 있으면 같은 모양의 집을 지을 수 있는 것과 마찬가지이다. 다만 그 집을 이루는 재료는 조금씩 달라질 수 있을 것이다. 이렇게 하나의 틀과 같은 역할을 하는 것이 클래스이다.

 

그리고 그 클래스를 통해 나온 새로운 것이 있을 것이다. 프로그램으로 치면 클래스를 이용해 메모리에 로드 되는 것을 의미한다. 그런 것들을 인스턴스라고 한다. 인스턴스는 클래스로 태어난, 원본의 복제본이다.

 

따라서 인스턴스는 객체가 될 수 없지만 객체는 인스턴스화가 가능하다.

반응형