티스토리 뷰

JAVA

instance in Java

seoca 2018. 12. 31. 17:20

 

OOP(Object Oriented Programming)

실제 존재하는 사물과 그에 따르는 행동을 3인칭 관찰자의 시점으로 실체화(=객체화) 시키는 형태의 프로그래밍.

수정과 유지보수에 용이 (대규모 프로젝트에 사용되기 적합)

 

Object

객체는 데이터와 기능으로 이루어져 있다.

 

instance

객체는 어떤 클래스에 실제하는 물건이라는 의미에서 instance라고 한다. 그렇기에 그것을 생성하는 행위를 인스턴스화(instantiation) 라고 한다.

객체를 생성할 때는 Class라는 틀이 있어야한다. 정의한 클래스를 실체화시키는 것이 객체화 시키는 것이다.

*Class 특정한 유형의 객체를 구별하여 정의한 것을 가지고 있다. 틀(mold) e.g 붕어빵틀, Apple class, etc

붕어빵 틀만으로는 붕어빵을 먹을 수 없다. 붕어빵틀로 붕어빵을 만들어야 실제로 붕어빵을 먹을 수 있기에 class라는 틀로 객체를 만들어야

실제로 사용 할 수가 있다.

 

 

그렇다면 실제로 사용할 수 있는 객체를 생성해보자 (->인스턴스화 instantiation)

 

SpaceTraveller 라는 class의 객체를 생성해보자

 

 

SpaceTraveller traveller = new SpaceTraveller();

 

 

SpaceTraveller traveller

기본자료형(primitive data type)이 아닌 프로그래머가 새롭게 만든 자료형(non-primitive data type)과 같다.

 

new SpaceTraveller();

SpaceTraveller라는 객체를 생성하라 는 의미

 

 

new (객체생성을 명령하는 명령어) 키워드를 이용해 생성된 객체가 메모리에 저장되고

그 메모리의 주소값(reference)이 반환되어 참조변수에 저장.

 

 

 

traveller is reference variable which point to SpaceTraveller class object.

 

 

 

생성된 객체의 method를 호출할 때는 ' . ' 연산자를 사용.

 

traveller.numOfGroup = 30;

traveller 가 참조하는 객체의 메서드 numOfGroup 호출
 

Object와 Instance의 차이점

Class라는 틀을 기초로 실제화(initialize) 되었음을 강조할 때는 인스턴스(instance)

현실세계의 대상이 프로그램으로 표현이 되었을 때는 객체(Object)

 

 

 

Reference

난 정말 자바를 공부한 적 없어요. 오렌지미디어. 윤성우 저

 

 

'JAVA' 카테고리의 다른 글

Constructor in Java  (0) 2019.01.02
Nested if-else example  (0) 2019.01.02
main method in Java  (0) 2018.12.31
Java Data type (primitive & non-primitive)  (0) 2018.12.18
Java loop example  (0) 2018.12.18