티스토리 뷰

728x90
반응형

클래스 멤버(static)와 객체 멤버(인스턴스)

- 객체는 유일무이하게 존재하는 실체이기 때문에 속성값을 가지고 있고, 클래스는 개념이면서 분류 체계일 뿐이므로 속성에 값을 가질 수 없습니다. 

 

예제 설명

  • 미키마우스의 꼬리는 몇 개인가요? - 객체
  • 제리의 꼬리는 몇 개인가요? - 객체
  • 쥐의 꼬리는 몇 개인가요? - 클래스

 

위의 예제 설명에서 미키마우스와 제리는 객체이고 쥐는 클래스입니다. 왜 미키마우스와 제리는 객체이고 쥐는 클래스일까요?

그에 대한 답은 쥐는 미키마우스와 제리의 개념이면서 동시에 분류 체계입니다, 그렇기 때문에 클래스에 해당하고 미키마우스와 제리는 객체에 해당하게 됩니다.

 

비슷한 예제 설명

  • 아이유의 나이는 몇 살인가요? 
  • 한효주의 나이는 몇 살인가요?
  • 사람의 나이는 몇 살인가요?

위의 예제도 동일하게 아이유와 한효주는 객체가 되고 사람은 개념이면서 분류 체계이므로 클래스에 해당합니다.

 

예제 

- 모든 쥐에는 꼬리가 하나가 있습니다. 이것을 인스턴스화 할 때 꼬리의 값을 세팅할 수 도 있으며 static영역에 미리 세팅을 할 수도 있습니다. 

 

Case 01 - 인스턴스화하여 꼬리의 값 세팅 mouse1.tail(1);

Case 02 - static 영역에 미리 값 세팅

 

이렇게 static 키워드가 붙은 속성을 클래스 멤버 속성이라 하며, static이 붙지 않은 속성은 객체 멤버 속성이라고 합니다.

클래스 멤버들은 static 키워드와 함께 사용되고 스태틱 영역에 상주하므로 static멤버라고하며, 객체 멤버들은 객체가 클래스의 인스턴스이므로 인스턴스 멤버라고도 합니다. 

728x90
반응형