객체지향 프로그래밍은 현실에 존재하는 사물과 대상, 그리고 그에 따른 행동을 있는 그대로 실체화시키는 형태의 프로그래밍이다.
프로그램상에서 바라보는 과일장수는 다음과 같은 형태이다
이처럼 객체는 하나 이상의 상태 정보(데이터)와 하나 이상의 행동(기능)으로 구성이된다.
객체를 생성하기에 앞서 객체의 생성을 위한 ‘틀(mold)’을 먼저 만들어야 한다.
클래스의 데이터 맴버변수들 …
ClassName objName; //일반적인 변수의 선언방식
ClassName *ptrObj = new ClassName; //동적 할당방식 (힙 할당방식)
하나의 객체가 다른 하나의 객체에게 메시지를 전달하는 방법은 (어떠한 행위의 요구를 위한 메시지 전달) 함수호출을 기반으로 한다. 그래서 객체 지향에서는 이러하 ㄴ형태의 함수호출을 가리켜 ‘메세지 전달 (Message Passing)’ 이라 한다.
관계를 형성해서 정의하는 것은 쉽지 않다. 하지만 이는 매우 중요하다. 단순히 함수호출로 이해하면 별 것 아니지만, 메시지 전달의 관점에서 보면 이는 매우 중요하다.