🏷️ 클래스, 객체, 인스턴스
용어 정의 예시 메모리 상 상태
| 클래스 | 객체를 만들기 위한 설계도(청사진) | class Car { int speed; void run(); } | 아직 메모리에 실체 없음 |
| 객체 | 속성과 기능을 가진 개념적인 존재 (현실 세계의 사물에 대응) | 자동차, 사람, 책 등 | 개념적, 이론적인 |
| 인스턴스 | 클래스를 기반으로 생성한 실제 메모리 상의 객체 | Car myCar = new Car(); | **힙(Heap)**에 메모리 할당됨 |
객체와 인스턴스는 혼동되어 사용되는 경우가 많다. 클래스를 기반으로 만든 것이 객체인데, 모든 인스턴스는 객체이지만, 모든 객체가 인스턴스인 것은 아니다. 그 이유는 메모리에 실제 할당된 실체를 인스턴스라고 할 수 있는데, 아직 메모리에 생성되지 않은 개념적인 상태도 '객체'라고 부를 수 있기 때문이다.
'JAVA' 카테고리의 다른 글
| [JAVA] 패키지란? (0) | 2025.09.13 |
|---|---|
| [JAVA] 가비지 컬렉션(GC)와 NPE (0) | 2025.09.13 |
| [JAVA] 변수와 초기화 (0) | 2025.09.13 |
| [JAVA] 배열과 기본형, 참조형이란? (0) | 2025.09.13 |
| [JAVA] OOP(객체 지향 프로그래밍)이란? (0) | 2024.04.25 |