#021객체 클래스 달력
자신의 책임에 해당하지 않는 작업을 필요로 한다면, 이 작업을
담당하는 다른 객체에 접근할 필요가 있다. 절차적인 프로그래밍에서의 함수 호출보다 일반적
인 방법을 이용하여 첫번째 객체가 두 번째 객체에게 이러한 작업을 수행하도록 요청한다.(자
바에서는 이러한 함수 호출을 보통 메소드 호출(method call)이라 한다.) OOP 용어로는
클라이언트가 서버 객체에게 메시지를 보내는 것이다.
다른 객체의 내부 데이터를 직접 조작할 수 없다는 점이다. 모든
통신은 메시지, 다시 말하면 함수 호출을 통하여 이루어진다. 적절한 메시지와 내부 데이터를
조작할 수 있도록 객체를 설계함으로써, 재사용성을 극대화 시키며 디버깅 시간을 최소화할
수 있다.
클래스는 객체가 실제로 만들어지는 템플릿(template) 이나
청사진(blueprint)으로 묘사된다. 쿠키 자르는 기구를 연상하여 클래스에 대하여 생각해 보
자. 객체는 쿠키 그 자체이다. 메모리 형태로 “가루반죽”이 할당되어야 할 것이다. 자바는 이
러한 “가루반죽 준비” 과정을 없애주는데 유리하다. 단순히 new 키워드를 사용하여 메모리를
획득할 수 있으며, 아무도 더 이상 이것을 사용하지 않으면 내장된 쓰레기 수집기가 쿠키를 먹
어치울 것이다.(어떤 비유도 완벽하지 않다.) 클래스로부터 객체를 생성하면, 클래스의 인스
턴스(instance)를 생성했다고 한다.
AudioClip meow = new AudioClip();
new 연산자를 사용하여 AudioClip 클래스의 새로운 인스턴스(instance)를 생성한다.
이미 보아왔듯이 ...