코딩/Java

자바 - 객체 vs 인스턴스 뭔 차이?

Junoni 2024. 11. 8. 20:50
반응형

자바와 같은 객체지향 프로그래밍 언어에서 객체를 다루는 경우가 부지기수이다.

객체(object)인스턴스(instance)라는 단어를 많이 사용하는데 도대체 차이가 무엇인지 ChatGPT와 구글링을 통해 알아봤다.

 

 

객체 - 클래스를 바탕으로 생성된 실제 데이터 덩어리

public class Example {
    public static void main(String[] args) {
        Person personOne = new Person(); // personOne은 Person 클래스로 구현한 객체이다
    }
}

class Person {
    ...
}

위와 같이 클래스와 new 키워드로 생성한 모든 것은 객체이다.

 

 

 

인스턴트 - 클래스를 바탕으로 생성된 특정 객체

public class Example {
    public static void main(String[] args) {
        Person personOne = new Person(); // personOne은 Person 클래스의 특정 인스턴스이다
        Person personTwo = new Person(); // personTwo도 Person 클래스의 특정 인스턴스이다
    }
}

class Person {
    ...
}

personOne과 personTwo는 사실 객체이면서 인스턴스이다.

하지만 객체와 인스턴스의 차이점은 인스턴트는 특정 객체를 가리키는데 활용된다.

 

 

예를 들어 personOne과 personTwo를 비교할 시,

personOne 객체와 personTwo 객체는 ...

보다는

personOne 인스턴스와 personTwo 인스턴스는 ...

가 좀 더 정확하다.

반응형