IT/Java

[Java] 클래스, 객체, 인스턴스

jaewon_sss 2020. 10. 12. 11:32
반응형
클래스, 객체, 인스턴스의 정의



클래스(Class) 정의

  • 객체를 만들기 위한 설계도

객체(Object) 정의

  • 클래스(설계도)로 구현한 모든 대상
  • 클래스의 인스턴스

인스턴스(Instance) 정의

  • 클래스(설계도)를 바탕으로 메모리에 할당된 객체
  • 객체를 SW에 실체화






객체와 인스턴스의 차이점

  • 클래스의 타입으로 선언되었을 때 객체, 그 객체가 메모리에 할당되어 실제 사용될 때 인스턴스
  • 객체 ⊃ 인스턴스



코드 예시



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//클래스
public class EPLTeam {
  ...
}
 
//객체와 인스턴스 
public class Main {
  public static void main(String[] args) {
    EPLTeam Liverpool, Leeds; // 변수 생성
 
    Liverpool = new EPLTeam(); // Liverpool은 EPLTeam 클래스의 객체(인스턴스)
    Leeds = new EPLTeam();
  }
}

cs


  • 객체 생성을 위해서는 new 키워드를 사용

  • 변수는 스택(Stack) 영역에 생성되고, 객체는 메모리 힙(heap) 영역에 생성

  • 변수는 객체 주소를 참조


반응형