본문으로 바로가기
클래스 & 인스턴스

*하나의 클래스는 여러개의 인스턴스를 가질 수 있다.

(인스턴스 : 클래스로 만들어진 변수)


ex)

*Scanner 타입으로 Scanner 인스턴스를 만들었다.

인스턴스 = 참조형 변수

* 메모리 공간을 확보해 주는 키워드 ( 클래스를 인스턴스화 시키는 키워드 ) : new ( <- 메모리 주소를 만들어 준다. )

* 참조형변수는 데이터가 없다. 메모리를 갖고있다. (메모리 주소를 가짐)

* new  Scanner () <- 생성자

* new : 메모리 공간 확보

* 생성자 : 메모리공간에 인스턴스를 만들어 줌 ( 생성자도 ()가 있으니 method임 )



* 기본형으로 선언된 배열변수는 참조형 인스턴스가 된다. 즉 배열은 인스턴스다.


* 인스턴스가 되기 위해서는 반드시 속성과 기능이 있어야 한다.



ex) 

클래스 만들어보기

* Pet이라는 클래스 안에 type과 name 속성을 추가하였다.

* Pet.java 에는 Pet 이라는 클래스만 존재하야 된다.

* /** 로 주석을 달면 나중에 클래스명에 마우스를 올려놓았을때 클래스 설명이 나온다.



ex)

static (클래스 필드) 알아보자

* 인스턴스를 만들지 않아도 기능을 쓸 수 있다.

* 설계도에 있는 정보를 가져올 수 있다.

* 메모리가 독립되어 있다.

* 상수를 만들 때 static 키워드가 반드시 들어간다.



static을 붙이면


인스턴스를 만들지 않아도 사용이 가능하다.


* 클래스 바로 밑에 있는 변수는 초기화 시킬 필요 없다. 자동으로 처리된다.

* method 안에 있는 변수는 반드시 초기화 해줘야 됨.

* public : 접근제어 지시자 (범위 : 모든 곳) , 인스턴스에서는 쓰면 안됨 (인스턴스는 private)

* private : 클래스 안에서만 쓰는 변수




필드 ( Field )

인스턴스 필드 : 인스턴스 마다의 다른 속성 정보들

클래스 필드 : 사람마다 머리카락이 나는 개수가 똑같다고 가정, 모든 인스턴스가 머리카락 개수가 같음





'Back-end > Java' 카테고리의 다른 글

final  (0) 2016.01.20
메소드 (method)  (0) 2016.01.20
package에 대하여  (0) 2016.01.19
배열(array)  (0) 2016.01.19
반복문(while)  (0) 2016.01.19