본문으로 바로가기

[JAVA]객체와 인스턴스의 차이점

category Program/JAVA 2016. 3. 8. 11:32

객체와 인스턴스의 차이점

 비슷한 개념이지만 정확히 구별하면 인스턴스가 객체보다 큰 의미이다. 객체는 어떤 클래스를 사용해서 만들어진 것을 의미한다. 그리고 그 객체가 메모리에 할당되어 실제 메모리를 차지하는 것을 인스턴스라고 한다.  


String str;
str = new String("Hello world");
System.out.println(str);

위와 같은 코드에서 객체와 인스턴스를 구별해보자.

먼저 str은 String 클래스를 사용하여 객체를 선언한 것이다. 즉 아직 str에 문자열이 할당되어 있지 않은 상태이다. 

그리고 다음 라인을 보자. new 키워드를 사용하여 JVM에 데이터가 생성된 것을 보여준다. 이렇게 객체를 실제로 메모리에 할당하는 과정을 인스턴스화(instantiate)라고 한다. 즉 객체 str에 "Hello world"라는 문자열을 할당해서 인스턴화하였다. 그리고 이렇게 인스턴스화된 것을 인스턴스라고 부른다.


출처 : http://blog.opid.kr/376