-
[JAVA] 클래스, 객체, 인스턴스의 개념 및 차이점Java 2024. 5. 3. 23:05
클래스(Class)
- 객체를 만들기 위한 설계도 또는 틀이다.
- 객체가 가져야 하는 속성(attribute)과 행동(method)을 정의한다.
- Ex) '사람'클래스는 이름, 나이, 성별과 같은 속성을 가지며, '먹다', '잠자다'와 같은 행동을 할 수 있도록 정의될 수 있다.
- 클래스는 객체를 생성하기 위한 틀이지만, 실제 데이터를 가지지 않는다.
객체(Object)
- 객체는 클래스로부터 생성된 실제 데이터이다.
- 클래스에 정의된 속성과 행동을 가지며, 실제 프로그램에서 사용될 수 있다.
- Ex) '사람'클래스의 객체는 실제 사람인 '철수', '영희'등이 될 수 있다.
- 객체는 실제로 메모리에 할당되어 사용된다.
인스턴스(instance)
- 인스턴스는 클래스로부터 생성된 특정한 객체를 의미한다.
- '클래스의 인스턴스'라고도 한다.
- 클래스로부터 생성된 객체가 인스턴스이다.
- Ex) '사람'클래스로부터 생성된 '철수'객체는 '사람'클래스의 인스턴스이다.
📌 즉, 클래스는 객체를 만들기 위한 설계도이고, 객체는 클래스로부터 생성된 실제 데이터이며, 인스턴스는 클래스로부터 생성된 특정한 객체를 가리킨다.
Ex)
// 클래스 public class People { ... } // 객체와 인스턴스 public class Main { public static void main(String[] args) { People person1, person2; // 인스턴스화 person1 = new People(); // person1은 People 클래스의 '인스턴스'(객체를 메모리에 할당) person2 = new People(); // person2은 People 클래스의 '인스턴스'(객체를 메모리에 할당) } }
클래스, 객체, 인스턴스의 차이
클래스(Class)와 객체(Object)의 차이
- 클래스는 '설계도', 객체는 '설계도로 구현한 모든 대상'을 의미한다.
객체(Object)와 인스턴스(Instance)의 차이
- 클래스의 특정 객체라는 개념을 강조할 때 주로 사용된다.
- 인스턴스는 객체와 클래스와의 관계를 강조한다.
- 객체는 메모리에 할당된 데이터를 의미한다.
Summary
- 클래스는 객체를 만들기 위한 설계도.
- 객체는 클래스로부터 생성된 실제 데이터.
- 인스턴스는 클래스로부터 생성된 특정한 객체를 가리킴.
'Java' 카테고리의 다른 글
[JAVA] 생성자, Getter&Setter, Builder (0) 2024.05.16 [JAVA] Wrapper Class (래퍼 클래스) (0) 2024.05.13 [JAVA] 컬렉션 프레임워크 (Collection Framework) (0) 2024.05.12 [JAVA] 오버라이딩 (Overriding), 오버로딩 (Overloading) 개념 및 차이점 (0) 2024.05.12 [JAVA] 추상 클래스와 인터페이스의 개념 및 차이 (0) 2024.05.08