2012/01/25 11:22 프로그래밍
Class Object Instance 차이 설명
사전적 의미를 한번 찾아봤다. 설명하기 편한 의미를 주로 정리해보면 아래와 같다.(네이버 영어사전 참조)
객체지향 수업 맨처음에 항상 듣던 설명이 생각 난다.
"클래스는 붕어빵 틀이고, 객체는 붕어빵이다"
사전적인 의미와 위 설명에 비추어볼때. 클래스와 객체는 상호적인 의미로 쓰인다는 것을 알수 있다.
클래스는 어떠한 틀이고 객체는 상대적으로 그 틀에서 만들어진 대상이라는 것을 의미한다. 인스턴스는 결과적으로 Object의 사례들을 의미한다.
우리가 헷갈려 했던것은, Class는 실제 코드로 기술되어 눈으로 볼수 있는데 객체를 그렇지 못하다는 것에서 오는 것이라고 생각한다.
사전적인 의미로 다시 정리하자면, "클래스를 인스턴스화 한 것이 객체" 가 되겠다.
그래서, 실제 인스턴스와 객체를 혼용하여 사용할 수밖에 없지만, 실제로는 느낌이 다르다.
객체는 모든 인스턴스를 대표하는 포괄적인 의미로 주로 사용되며, 인스턴스는 어떤 클래스로부터 만들어진 것인지를 강조할 때 사용한다.
예를 들면 붕어빵은 인스턴스라는 말보다, 붕어빵은 객체라는 표현이, 붕어빵은 붕어빵틀의 객체라는 표현보다는 붕어빵은 붕어빵틀의 인스턴스라는 표현이 더 자연스럽다.
마지막으로 실제 코드를 보면서 표현해보고 마무리 해본다.
OpenmayaMessage message = new OpenmayaMessage();
아래와 같이 사용될수 있다.
- message는 객체다. message객체는 ~~~한 역할을 한다.
- message는 OpenmayaMessage의 인스턴스이다.