뇌운동일지

[JAVA08] 생성자, getter, setter 본문

JAVA

[JAVA08] 생성자, getter, setter

purpleduck 2020. 3. 16. 12:05

생성자

1. 클래스명과 동일

2. 반환형이 없다

3. 역할) new와 함께 사용 => 인스턴스 생성에 관여

4. 역할) 인자를 받아서 멤버변수를 초기화

5. 생성자에 간단한 로직을 추가할 수 있다

 

new 는 인스턴스를 만들때와 배열을 만들때만 나옴.

new는 heap영역에 memory를 할당하라는 뜻이기 때문

 

생성자가 없으면, 

기본생성자가 자동생성 

기본 생성자 : 인자가 없는 생성자 

 

가능하면 기본 생성자를 정의하는 것을 추천 

-> 인자가 있는 생성자가 있을 경우, 기본생성자가 자동으로 만들어지지 않기 때문 

 

getter

getXxx()

역할 : 멤버변수를 호출한 곳으로 리턴함. ★

사용방법 : 

int tot;
public int getTot(){
	return tot;
    // return this.tot; 도 가능 
    // 지역변수와 혼선이 생길 우려가 있을 시 사용할 것 
}

get으로 시작하고, 변수명의 첫자를 대문자로 결합해서 만듦.

접근자는 반드시 public 

반환형은 변수의 데이터타입과 동일 

 

사용하는 이유?

getter, setter

- 변수의 접근자 private ( class 밖에서는 접근 불가 )

- method의 접근자 public ( project 안에 있으면 어디서든지 접근 가능 ) 

-> 은닉화( encapsulation )

 

생성자는 heap영역에 메모리를 할당받게 함. 

생성자를 이용한 초기화는 객체 생성시 1회만 가능. 

재초기화를 위해서는 setter를 사용해야 한다. 

Comments