📖 클래스(Class)란?
- Java에서 객체를 생성하기 위한 일종의 설계도이다.
- 흔히 붕어빵(객체)를 만들기 위한 붕어빵 틀(클래스)이라고 비유를 한다.
- 객체가 가지는 속성(필드)와 동작(메서드)으로 이루어져 있다.
- 이들은 생략될 수도 있고 하나 이상 작성될 수도 있다.
- Java를 실행 시 클래스는 JVM 메모리의 클래스 영역(Class Area)에 로드된다.
📖 인스턴스(Instance)란?
- 클래스가 붕어빵 틀이라면, 그 틀을 통해 생성된 객체(붕어빵) 하나하나를 해당 클래스의 인스턴스라 한다.
- 클래스를 사용하여 힙 영역(Heap Area)에 새로운 인스턴스(객체)를 생성할 수 있다.
- 즉, 인스터스란 현실의 객체를 소프트웨어 내에서 구현한 실체라고 볼 수 있다.
📖 요약
- 객체(Object)란 자신 고유의 속성을 가지는 물리적, 추상적인 모든 대상을 일컫는다.
- 클래스(Class)란 객체들을 소프트웨어 내에서 구현하기 위해 만든 설계도이다.
- 이를 통해 생성된 객체 하나하나를 인스턴스(Instance)라고 부른다.
- 대체로 객체와 인스턴스는 혼용해서 표현한다.
클래스와 인스턴스의 차이에 대해 설명해주실 수 있을까요?
클래스는 객체를 생성하기 위한 청사진 또는 템플릿입니다. 클래스는 속성(필드)과 동작(메소드)을 정의합니다. 예를 들어, Car 클래스는 자동차의 속성(예: 색상, 모델)과 동작(예: 가속, 감속)을 정의할 수 있습니다. 클래스는 설계도와 같아서, 실제 데이터는 가지고 있지 않습니다.
인스턴스는 클래스에서 정의된 구조를 기반으로 생성된 구체적인 객체입니다. 인스턴스는 클래스의 속성과 동작을 실제로 구현한 것입니다. 예를 들어, Car myCar = new Car();에서 myCar는 Car 클래스의 인스턴스입니다. 인스턴스는 클래스에서 정의한 속성과 동작을 가지며, 고유한 데이터를 가질 수 있습니다.
'기술면접 준비' 카테고리의 다른 글
가비지 컬렉션 요약 (0) | 2024.08.06 |
---|---|
가비지 컬렉션 동작 원리 & GC 종류 총정리 (0) | 2024.08.06 |
그림으로 보는 자바 코드의 메모리 영역(스택 & 힙) (0) | 2024.08.06 |
영속성 컨텍스트(Persistence Context)란? (0) | 2024.07.30 |
가비지 컬렉션(Garbage Collection, GC) 이란? (0) | 2024.07.30 |