• 객체와 클래스와 인스턴스의 관계
  • Zappy (IP: *.10.113.104)
    조회 수: 5459, 2006-02-28 14:27:58(2006-02-28)
  • 객체와 클래스와 인스턴스의 관계


    객체는 속성(데이타)과 행위(함수)를 갖는 것을 말합니다. 객체지향형프로그램이란 이런한 객체를 만들수 있는 프로그램을 의미합니다.

    프로그래밍이 아닌 실세계에서 동물은 모두 객체라고 할 수 있겠지요. 왜냐하면 동물은 속성(무게, 길이, 나이 등)이 있고 행위(숨쉰다, 달린다, 날아간다, 먹는다)


    클래스는 그런 객체들을 같은 속성과 행위를 가진 것으로 분류해 놓은 것을 말합니다.

    동물에서 같은 속성과 행위를 가진 것으로 분류를 하면, 동물은 어류,조류,포유류로 나누어 질 수 있지요. 어류는 헤엄치고, 물속의 산소로 호흡합니다. 또 조류는 날아다니고, 알을 낳습니다. 포유류는 젖을 먹고 육지에서 걸어다니지요.

    클래스는 좀더 상세하게 나누어 질 수 잇습니다. 예를 들어 포유류는 사람, 개, 고양이, 말 등등으로 나누어질 수 있습니다. 사람, 개, 고양이, 말은 모두 젖을 먹고 육지에서 걸어다니지만, 속성이나 행위가 다른 부분도 잇습니다. 사람은 말을 하고, 두발로 걷고, 팅도하고 등등..
    따라서 클래스는 상위클래스와 하위클래스로 확장될 수 있습니다. 즉 동물(상위)과 포유류(하위), 포유류(상위)와 사람(하위)와 같이 말입니다.


    인스턴스는 클래스에 의해 생성되는 각각을 지칭합니다.
    예를들어 사람이라는 클래스 안에는 홍길동, 성춘향, 임꺽정, 죠지 부시, 후세인 등의 인스턴스가 있습니다.

    프로그램에서는 class라고 선언하고 만드는 부분이 클래스이고 new라고 해서 객체를 만들면 이 것이 인스턴스가 되지요. 인스턴스는 필요한 만큼 만들 수 있지요. 또한 각각의 인스턴스가 생겨날 때마다 컴퓨터 메모리를 차지하지요.

    종종 객체(object)라는 용어는 클래스나 인스턴스와 혼용해서 사용하기도 합니다.

댓글 0

번호 제목 닉네임 조회  등록일 
12 Zappy 6022 2006-10-18
11 Zappy 5792 2006-10-18
10 Zappy 5561 2006-10-18
9 Zappy 5541 2006-10-18
8 Zappy 5043 2006-10-18
Zappy 5459 2006-02-28
6 Zappy 5139 2006-10-01
5 Zappy 6949 2006-09-22
4 Zappy 5924 2006-09-05
3 Zappy 5440 2006-09-05
XE Login