JAVA/JAVA2

[java2] #02 - getter, setter, this 키워드

yoonddo 2022. 7. 9. 12:49

1. Getter, Setter 를 사용하는 이유

: 일반적으로 데이터를 private 접근 제어자로 외부에서 직접적으로 접근하는것을 막아두고

Getter, Setter로 접근하는 방식을 사용하는데 이렇게 프로그래밍 하는 이유는 객체의 무결성을 보장하기 위함이다.

 

- 단축키는 [Alt + Shift + s > r ]이다.

- 외부에서 메소드를 통해 데이터에 접근하도록 유도하는데 이 역할을 하는 메소드가 Setter이다.

- 객체 외부에서 객체 필드값을 사용하기 부적절한 경우가 있는데 이런 경우 메소드로 필드값을 가공 후 외부로 전달한다.

이런 역할을 하는 메소드가 Getter이다.

- 필드 타입이 boolean일 경우, Getter는 get으로 시작하지 않고 is로 시작한다.

private 접근제어자가 붙은 data4는 getter, setter메소드가 꼭 필요하다.


- 외부에서 필드값을 읽을 수만 있고, 변경은 못하도록(읽기전용) 하려면

Getter 메소드만 선언하거나 Setter메소드를 private접근 제한을 갖도록 선언한다.

 

 


 

Access2 클래스
Access2 실행결과

setData4에 데이터를 넘기지 않고 getData4를 출력하면 아직 아무 데이터도 들어있지 않기 때문에 결과는 0이 나온다. 

setData4에 2345를 넣은 뒤 getData4를 출력하면 2345가 나오고 그 뒤 data4값에 1111을 더한 후

출력하는 resultData4메소드를 실행하면 3456이 출력된다.


 

access2 패키지의 Acceess3 파일

Access1 클래스를 상속 받으면 다른 패키지의 다른 클래스에서도 Access1의 데이터를 사용할 수 있다.

 

this 키워드

자바에서 this는 인스턴스 자기 자신을 가리키는 키워드이다. this를 통해 클래스 메서드 및 생성자에서 자기 자신의

데이터를 업데이트 하거나 조작할 수 있으며 this는 클래스를 기반으로 셍성된 인스턴스를 가리키는 참조이다.

여기서 중요한 부분은 인스턴스를 가리키는 참조와 인스턴스는 다르다는 점이다.

 

특징

  • 객체 자신에 대한 참조값을 가진다 (= 자기 자신을 의미한다.)
  • 메서드 내에서만 사용된다.
  • static 메서드에서는 사용할 수 없다.
  • this.멤버변수 : 매개 변수와 객체 자신이 가지고 있는 변수의 이름이 같은 경우 이를 구분하기 위해 this를 붙인다.
  • this(매개변수) : 생성자 내에서 다른 생성자를 호출한다.
  • 주로 setter 메서드에서 많이 사용된다.