클래스

  • 객체의 모든 속성과 기능이 정의되어 있으며 클래스로부터 객체를 생성하면, 클래스에 정의된 속성과 기능을 모두 가진 객체가 만들어 짐

객체

  • 객체는 속성과 기능의 집합이며, 갖고있는 속성과 기능을 맴버(구성원, member) 라고 함
  • 객체지향 프로그래밍에서는 속성과 기능을 각각 변수, 메서드 라고 함
  • 객체를 사용한다는 것은 객체가 가지고 있는 속성과 기능을 사용한다는 뜻
  1. 속성
    • 맴버변수(member variable), 특성(attribute), 필드(field), 상태(state)
  2. 기능
    • 메서드(method), 함수(function), 행위(behavior)

인스턴스

  • 클래스로부터 객체를 만드는 과정을 클래스의 인스턴스화(instantiate)라고 하며, 클래스로부터 만들어진 객체는 그 클래스의 인스턴스(instance)라고 함
  • 인스턴스와 객체는 같은 의미
    • 객체는 모든 인스턴스를 대표하는 포괄적인 의미를 갖음
    • 인스턴스는 어떤 클래스로부터 만들어진 것인지에 대한 구체적인 의미
      • 책상은 인스턴스다. 보다 책상은 객체다. 가 더 자연스러움
      • 책상은 책상클래스의 객체다. 보다 책상은 책상클래스의 인스턴스다. 가 더 자연스러움
package zlzltntn;

public class Tv {

   // 맴버변수
   private int channel;
   private int volume;

   Tv (){
       channel = 5;
       volume = 10;
   }
   Tv (int channel, int volume){
       this.channel = channel;
       this.volume = volume;
   }

   // 메서드
   void channelUp(){
       ++channel;
   }
   void volumeUp(){
       ++volume;
   }

   void setChannel(int channel) {
       this.channel = channel;
   }
   void setVolume(int volume) {
       this.volume = volume;
   }
   int getChannel() {
       return channel;
   }
   int getVolume() {
       return volume;
   }

   public static void main(String [] args){
       Tv tv;             // Tv 클래스 타입의 참조변수 t를 선언
       tv = new Tv();    // Tv 인스턴스를 new 연산자로 생성한 후, 인스턴스의 주소를 t에 저장
       tv.channelUp();    
       System.out.println(tv.getChannel());
   }
}

+ Recent posts