클래스

Untitled

음식은 과일보다 상위의(superior) 개념이고, 과일은 음식보다 하위의(subordinate) 개념이다. 이를 상위 클래스(superclass)/하위 클래스(subclass)로 표현한다.

음식인 상위 과일은 하위

음식: 먹을 수 있음

과일: 먹을 수 있음 + 나무에서 열림

귤류: 먹을 수 있음 + 나무에서 열림 + 말랑한 껍질 속 달고 신 과육

클래스는 하위로 갈수록 상위 클래스 속성을 상속하면서 구체적인 요건이 추가 또는 변경된다.

인스턴스

정의: 클래스의 속성을 지니는 실존한 개체

사용자가 직접 클래스 정의하고 이를 바탕으로 인스턴스를 만들 때 그 개체가 클래스의 속성을 지님

한 인스턴스는 하나의 클래스만을 바탕으로 만들어진다.

어떤 인스턴스가 다양한 클래스에 속할 수는 있으나 클래스들은 모두 인스턴스 입장에서는 직계존속이다. 다중상속을 지원하는 언어든 아니든 인스턴스를 생성할 때 호출할 수 있는 클래스는 하나이기 때문이다.