ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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

    • 클래스는 객체를 만들기 위한 설계도.
    • 객체는 클래스로부터 생성된 실제 데이터.
    • 인스턴스는 클래스로부터 생성된 특정한 객체를 가리킴.
kimjihoon