객체란 물리적으로 존재하거나, 추상적으로 생각할 수 있는 것 중에서 자신의 속성을
가지고 있고 다른것과 구별이 가능한 것을 "객체" 라고 말합니다.
현실로 반영해서 예를 들자면 자동차,자전거,사람 등은 물리적으로 존재하므로 객체,
나이, 천국, 지옥등도 물리적은 아니지만 추상적으로 존재하므로 객체라고 할 수 있다.
객체는 자바상에서 클래스의 인스턴스라고 혼용해서 부릅니다.
🔔 JAVA에서는 이러한 속성들을 필드(filed), 메소드(method)라고 부릅니다.
클래스는 객체를 담고 있는 포장지, 또는 객체를 생성하기 위한 설계도라고 부를 수 있다.
객체가 가지고 있는 속성이나 동작(method)를 가지고 있다.
자바에서 클래스는 속성, 동작, 생성자 중에 1가지 이상을 가지고 있다.
속성(property) : 필드나 변수 및 데이터를 담는 저장공간
필드(filed) : 객체의 데이터가 저장되는 곳
동작(method) : 객체로 인해 무언가 동작하는 역할을 갖는 코드
생성자(Constructor) : 객체가 생성 될 때, 객체의 초기화를 담당
클래스를 통해서 생성된 객체들을 각각 클래스의 인스턴스라고 한다.
Java 프로그램을 실행하면 클래스는 JVM 메모리의 클래스 영역(Class Area)에 로드되고
이 클래스를 사용하여 힙(Heap Area)에 새로운 인스턴스(객체)를 생성할 수 있습니다.
명칭 | 내용 |
---|---|
클래스 | 객체에 속성과 기능을 만들어줄 설계도 |
객체 | 클래스를 통해 생성되며, 속성과 기능을 통해 소프트웨어 세계에 구현할 대상 |
인스턴스 | 클래스를 통해서, 메모리상에 구현된 실제 값 |
객체는 인스턴스를 포함하고 있으며, 객체=인스턴스라고 혼용해서 부르기도 합니다.
클래스 : 붕어빵 틀
객체 : 붕어빵 틀에서 만들어진 붕어빵들
인스턴스 : 만들어진 붕어빵들 중에서, 실제로 판매되고 있는 붕어빵들