INSTANCE 란?
①일반적으로 어떤 집합에 대해서, 그 집합의 개별적인 요소. 객체 지향 프로그래밍(OOP)에서, 어떤 등급에 속하는 각 객체를 인스턴스라고 한다. 예를 들면 ‘목록(list)’이라는 등급을 정의하고 그 다음에 ‘본인 목록(my list)’이라는 객체를 생성(기억 장치 할당)하면 그 등급의 인스턴스가 생성된다. 또한 변수가 포함되어 있는 어떤 논리식의 변수에 구체적인 값을 대입하여 식을 만들면 원래 식의 인스턴스가 만들어진다. 이런 의미에서 인스턴스를 실현치라고 한다.
②프로그램 작성 언어 에이다(Ada)에서 매개 변수를 사용해서 절차를 일반적으로 정의한 범용체(generic package)에 대해, 그것으로부터 도출한 구체적인 실체.
-----------------------------------------------------------------------
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는 클래스에서
인스턴스를 만드는 생성자 함수입니다.
'Engineering > JAVA Programming' 카테고리의 다른 글
6) 클래스에 대한 기본적인 이해 (C++ 기준) (0) | 2012.05.05 |
---|---|
5) 함수에 대한 고찰 (0) | 2012.05.03 |
4) 자바의 데이터 타입과 연산자 (0) | 2012.04.28 |
3) 자바 프로그램의 구조에 대한 고찰 (0) | 2012.04.28 |
2) 자바 프로그래밍 환경설정 (0) | 2012.04.27 |