INSTANCE 란?


①일반적으로 어떤 집합에 대해서, 그 집합의 개별적인 요소. 객체 지향 프로그래밍(OOP)에서, 어떤 등급에 속하는 각 객체를 인스턴스라고 한다. 예를 들면 ‘목록(list)’이라는 등급을 정의하고 그 다음에 ‘본인 목록(my list)’이라는 객체를 생성(기억 장치 할당)하면 그 등급의 인스턴스가 생성된다. 또한 변수가 포함되어 있는 어떤 논리식의 변수에 구체적인 값을 대입하여 식을 만들면 원래 식의 인스턴스가 만들어진다. 이런 의미에서 인스턴스를 실현치라고 한다. 
프로그램 작성 언어 에이다(Ada)에서 매개 변수를 사용해서 절차를 일반적으로 정의한 범용체(generic package)에 대해, 그것으로부터 도출한 구체적인 실체.


출처 : http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040201&docId=69718936&qb=aW5zdGFuY2U=&enc=utf8&section=kin&rank=1&search_sort=0&spq=0&pid=RU3RdU5Y7tosstowSPZsssssssC-287841&sid=UX3To3JvLCkAABa1kn8



-----------------------------------------------------------------------

instance란 자바뿐만 아니라... 객체지향형의 모든 툴에서 동일하지 않나요?
class로만 설명을 해보면...class는 단지 동작에 대한 서술만이 있을 뿐입니다. 실제 사용을 할 수가 없다는 거죠.실제 사용을 위해 인스턴스를 생성하는 겁니다.

즉, 클래스를 메모리에 로딩해서 사용가능하게 만든 상태라고 설명하면 될까요?

그러니깐... 클래스 자체는 기계의 도면일 뿐이고 이 도면을 갖고 실제 기계가 완성된 상태가 인스턴스라고 설명하면 되겠내요. ^^;

-------------------------------------------------------------------------

class는 단지 변수와(상태값) 변수(상태값)에 값을 넣기위한 동작에 대한 서술만이 있을 뿐입니다. 실제 사용을 위해 인스턴스를 생성하는 겁니다.

즉, 클래스( 기술해 놓은 구조) 를 메모리에 로딩해서 사용가능하게 만든 상태 따라서... 클래스를 사용하기 위해서는 반드시 생성하는 작업을 해야 합니다.
그리고 코드로 설명하면
Class c1 = new NewClass() ; ---> 이런코드가 있다면

c1은 instance variables 이 됩니다.
즉 인스턴스를 가리키고 있는 variable이 되는 거죠.

그리고 instance of a class 라는 거는 위에 설명되어있는 것처럼
클래스의 실체를 메모리에 생성한겁니다.

즉,

Class c1 = new NewClass() ; 
Class c2 = new NewClass() ; 
Class c3 = new NewClass() ; 
Class c4 = new NewClass() ; 
Class c5 = new NewClass() ; 

이렇게 다섯개의 instance variables 가 있다면
c1 ~ c5의 variable은 NewClass 라는 클래스의 instance가 되죠.
---> instance of a class



----------------------------------------------------------

이해하기 쉽게 예를 들어보겠습니다.

 

클래스를 붕어빵을 만드는 기계라고 생각해보세요.

인스턴스는 붕어빵 기계로 만든 "붕어빵"입니다.

 

클래스가 개념적인 형태라면 인스턴스는 실체입니다.

 

예) SampleClass sc = new SampleClass();

 

위에서 SampleClass 는 클래스이고, sc는 인스턴스이고 여기서는 new는 클래스에서

인스턴스를 만드는 생성자 함수입니다.


+ Recent posts