standwally

[Head First Java] chapter 2. 클래스와 객체 본문

프로그래밍/OOP

[Head First Java] chapter 2. 클래스와 객체

standwally 2013. 2. 16. 17:18

클래스는 객체가 아닙니다.

(객체를 만들기 위한 용도로 쓰이지요)

클래스는 객체를 만들기 위한 청사진입니다. 가상 머신에 그 유형의 객체를 만드는 방법을 알려주는 역할을 하죠. 클래스로부터 만들어진 각 객체는 클래스의 인스턴스 변수용으로 쓰기 위한 변수를 가질 수 있습니다. 예를 들어, Button 클래스를 이용하여 서로 다른 버튼 수십 개를 만들 수 있고, 각 버튼마다 서로 다른 색, 크기, 모양, 레이블 등을 지정할 수 있습니다.


핵심정리

  • 객체지향적인 프로그래밍을 하면 제작과 테스트 과정이 끝난 코드를 건드리지 않고도 프로그램을 확장할 수 있습니다.
  • 모든 자바 코드는 클래스 내에서 정의됩니다.
  • 클래스는 해당 클래스 유형의 객체를 만드는 방법을 설명하는 역할을 합니다. 클래스는 청사진과 같다고 할 수 있지요.
  • 객체는 각자 자기가 알아서 자기 할 일을 처리할 수 있습니다. 사용자는 객체에서 작업을 처리하는 방법에 대해서는 신경 쓰지 않아도 됩니다.
  • 객체에는 알고 있는 것할 수 있는 것이 있습니다.
  • 객체가 자기 자신에 대해 알 소 있는 것은 인스턴스 변수라고 부릅니다. 객체의 상태를 나타내지요.
  • 객체가 할 수 있는 것은 메소드라고 부릅니다. 객체의 행동을 나타내지요.
  • 클래스를 새로 만들 때는 그 클래스 유형의 객체를 만들어서 테스트하는 테스트용 클래스를 따로 만들어보는 것이 좋습니다.
  • 클래스에서는 덜 구체적인 상위클래스로부터 인스턴스 변수와 메소드를 상속할 수 있습니다.
  • 프로그램을 실행시킬 때 보면 자바 프로그램이란 결국 다른 객체와 대화를 하는 객체에 불과합니다.

- Head First Java에서