본문 바로가기
Java

자바 클래스, 객체, 인스턴스란?

by 무대포 개발자 2020. 11. 4.
728x90
반응형

자바 클래스, 객체, 인스턴스란?

클래스(Class) 란
  • 객체를 만들어 내기 위한 설계도 혹은 틀
  • 연관성있는 상태와 행위의 집합
객체(Object) 란
  • 소프트웨어 세계에 구현할 대상
  • 클래스에 선언된 상태, 행위 그대로 생성된 실체
인스턴스 (Instance) 란
  • 설계도를 바탕으로 소프트웨어 세계에 구현된 구체적인 실체
  • 객체를 소프트웨어에 실체화 하면 그것을 ‘인스턴스’라고 부른다.
    • 즉, 실체화된 인스턴스는 메모리에 할당된다.
  • 인스턴스는 객체에 포함된다고 볼 수 있다.

객체와 인스턴스의 차이

public class Animal {
  /* 객체와 인스턴스 */
  public class Main {
    public static void main(String[] args) {
      Animal cat, dog; // '객체'

      // 인스턴스화
      cat = new Animal(); // cat은 Animal 클래스의 '인스턴스'(객체를 메모리에 할당)
      dog = new Animal(); // dog은 Animal 클래스의 '인스턴스'(객체를 메모리에 할당)
   }
  }
}

reference

댓글