[객체 관련 용어 정리] 객체(Object) 인스턴스(instance) 클래스(Class)를 관계를 통해 알아보자
IT/JAVA

[객체 관련 용어 정리] 객체(Object) 인스턴스(instance) 클래스(Class)를 관계를 통해 알아보자

먼저, 약간의 설명을 곁들이자면

객체지향이론을 실제 세계의 사물(객체)들을 그대로 옮겨놓은 것이라고 이해하는 편이 가장 쉽다.

예를 들어, 지금 보고 있는 핸드폰, 노트북 등을 모두 객체라고 할 수 있다.

그 객체들은 끊임없는 상호작용 속에서 발생한다.

 

객체 > (인스턴스) > 클래스  

이 세 가지(객체, 인스턴스, 클래스)의 관계를 위와 같은 포함관계로 나타낼 수 있다.(인스턴스를 괄호 친 이유는 조금 이따 이해될 것이다.)

 

 

객체란 "실제로 존재하는 것" 이다

클래스란 " 객체를 정의해 놓은 것" or "객체의 설계도면"이다.

객체와 클래스의 관계를 실생활 속에서 예를 들면 다음과 같다.

Object(객체) Class(클래스)
TV TV설계도

 

인스턴스란 "클래스로부터 만들어진 객체를 그 클래스의 인스턴스라고 한다."

위와 같이 인스턴스는 의미 자체가 관계 속에서 발견된다.

그렇다면 인스턴스화 라는 말도 사용하는데 "클래스로부터 객체를 만들어가는 과정"이라고 할 수 있겠다.

 

그래서 객체라는거야 인스턴스라는거야? 라는 생각이 들 것이다.

이제 포함관계를 살펴보자.

인스턴스는 객체와 같은 의미이긴 하지만, 객체가 모든 인스턴스를 대표하는 포괄적인 의미를 갖고 있다.

그래서 위의 포함관계에서 인스턴스에 괄호를 쳐 놓은 것이다.

 

**남궁성님의 자바의 정석을 공부하면서 정리한 것입니다.