개념과 특징
클래스(Class)
- 개념
- 객체를 만들어 내기 위한 설계도 혹은 틀
- 연관되어 있는 변수와 메서드의 집합
객체(Object)
- 개념
- 소프트웨어 세계에 구현할 대상
- 클래스에 선언된 모양 그대로 생성된 실체
- 특징
- '클래스의 인스턴스(instance)'라고도 부른다.
- 객체는 모든 인스턴스를 대표하는 포괄적인 의미를 갖는다.
- 클래스의 타입으로 선언되었을 때 '객체'라고 부른다.
인스턴스(Instance)
- 개념
- 설계도를 바탕으로 소프트웨어 세계에 구현된 구체적인 실체
- 객체를 소프트웨어에 실체화하면 그것을 '인스턴스'라고 부른다.
- 실체화된 인스턴스는 메모리에 할당된다.
- 특징
- 인스턴스는 객체에 포함된다고 볼 수 있다.
- 객체가 메모리에 할당되어 실제 사용될 때 '인스턴스'라고 부른다.
- 추상적인 개념과 구체적인 객체 사이의 관계에 초점을 맞출 경우에 사용
- 인스턴스는 어떤 원본(추상적인 개념)으로부터 '생성된 복제본'을 의미한다.
예시
/* 클래스 */
public class Vehicle {
...
}
/* 객체와 인스턴스 */
public class Test {
public static void main(String[] args) {
Vehicle bus, car; // '객체'
// 인스턴스화
bus = new Vehicle(); // bus는 Vehicle 클래스의 '인스턴스'
car = new Vehicle(); // car는 Vehicle 클래스의 '인스턴스'
}
}
객체 vs 인스턴스
객체 : 모든 인스턴스를 대표하는 포괄적 의미
인스턴스 : "어떤 클래스"로부터 만들어진 것인지를 강조하는 구체적 의미
인스턴스 ⊂ 객체
클래스로부터 객체를 만드는 과정을 클래스의 인스턴스화(instantiate)라고 한다.
어떤 클래스로부터 만들어진 객체를 그 클래스의 인스턴스(instance)라고 한다.
붕어빵...?
클래스 : 붕어빵 틀
인스턴스 : 붕어빵 틀로 만들어진 붕어빵
참고
https://gmlwjd9405.github.io/2018/09/17/class-object-instance.html
https://whatisthenext.tistory.com/36
항해 개발자 취업 리부트 코스를 수강하고 작성한 콘텐츠 입니다.
IT 커리어 성장 코스 항해99, 첫 취업부터 현직자 코스까지
항해99는 실무에 집중합니다. 최단기간에 개발자/PM으로 취업하고, 현직자 코스로 폭발 성장을 이어가세요. 실전 프로젝트, 포트폴리오 멘토링, 모의 면접까지.
hanghae99.spartacodingclub.kr
'멋진 개발자 > Java & Spring' 카테고리의 다른 글
[항해 취업코스] 개발자 취준 기록 11 - Java Map 내부 구현 파악 (1) | 2024.03.07 |
---|---|
[항해 취업코스] 개발자 취준 기록 10 - Garbage Collector (0) | 2024.03.07 |
[항해 취업코스] 개발자 취준 기록 8 - JVM의 스택과 힙 메모리 영역 (0) | 2024.03.06 |
[항해 취업코스] 개발자 취준 기록 7 - 동시성 이슈 해결 방법 (1) | 2024.03.06 |
[항해 취업코스] 개발자 취준 기록 6 - Java의 컴파일 과정(JVM) (0) | 2024.03.05 |