객체는 클래스라는 설계도를 바탕으로 만들어진다.

 

클래스라는 설계도에는 객체라는 재료와 메소드라는 기능이 들어간다.

재료를 핸들이라고 했을 때, 기능은 왼쪽과 오른쪽으로 돌아가는 기능이 들어갈 것이고

재료를 타이어라고 했을 때, 기능은 앞으로 나가는 것과 뒤로 가는 것이 있을 것이며

재료를 라이트라고 했을 때, 기능은 켜지는 것과 꺼지는 것이 있을 것이다.

 

핸들은 자동차에 한 개만 들어가지만 타이어는 4개, 라이트는 많은 곳에 들어간다.

그런 부품들을 각기 객체화한 후 조립하면 자동차라는 설계도가 만들어지게 된다.

 

클래스로부터 만들어진 객체를 해당 클래스의 인스턴스라고 하는데 

이 때 자동차 객체는 자동차 클래스의 인스턴스라고 부를 수 있다.

 

더하여 클래스로부터 객체를 만드는 과정을 인스턴스화라고 하며 

둘을 이어 붙여 객체의 인스턴스화라고 한다. 

 

얼마 전에 수업 내용 중에 "객체의 인스턴스화 다들 알지요~?" 하는 질문에 머리가 하얘졌던 적이 있다.

 

객체도 만드는데 한참 걸리는데 객체의 인스턴스화가 뭔데.. 

 

그러다 흔히들 말하는 '바보 도 터지는 소리'를 내며 자주 가는 식당의 물잔이 떠올랐다.

늘 4명이서 함께 밥을 먹다 보니 물잔이 겹쳐져 있는 상태로 상 위에 놓여져 있는데 

이 때 하나의 물잔을 클래스로부터 만들어낸 인스턴스라고 한다면 

나머지 3개의 물잔을 보고 객체의 인스턴스화라고 할 수 있는 것이 아닐까 하는 생각이 든 것이다. 

 

식당에 가면 흔히 나오는 스테인리스 물잔 하나. 

하지만 한 상에 사람이 4명이 앉는다 하면 그 물잔은 총 4잔이 나와야 한다.

 

그럼 똑같은 물잔 4개가 나오는데 각기 한 사람 앞에 하나의 물잔이 가니 물잔마다 역할을 하는 것이기에

이 때 물잔 4개를 객체의 인스턴스화를 겪은 물잔들이라고 볼 수 있지 않을까 하는 생각이 든 것이다. 

 

--- 

 

[객체 지향 프로그래밍 개발, 3단계]

1. 클래스 설계

 

2. 클래스 내 객체 설계

 

3. 생성된 객체 이용

 

next : 클래스 선언

 

 

+ Recent posts