*하나의 클래스는 여러개의 인스턴스를 가질 수 있다.
(인스턴스 : 클래스로 만들어진 변수)
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 |