Getter와 Setter 메소드

김담희·2021년 9월 14일
0

JAVA

목록 보기
12/12
post-thumbnail

객체지향 프로그래밍에서는 객체의 데이터를 외부에서 직접적으로 접근하는 것을 막습니다.

그 이유는 객체의 데이터를 외부에서 마음대로 읽고 변경할 경우 객체의 무결성(결점이 없는 성질)이 깨질 수 있기 때문입니다.

이러한 문제점을 해결하기 위해 객체 지향 프로그래밍에서는 메소드를 통해서 데이터를 변경하는 방법을 선호하고 있습니다.

메소드로 필드 값을 가공한 후 외부로 전달하는 역할을 하는 Getter과

매개값을 검증해서 유효한 값만 데이터로 저장할 수 있는 역할을 하는 Setter에 대해서 알아보겠습니다.


▨ 클래스 선언할 때 필드는 일반적으로 private 접근 제한

  ○ 읽기 전용 필드가 있을 수 있다. (Getter의 필요성)


  ○ 외부에서 알 수 없는 값으로 변경할 수 없도록할 수 있다. (Setter의 필요성)
  
  
  


필드를 age에 private로 선언해서 외부로부터 보호하고,필드에 대한 Setter을 이용하여 if함수로 원하는 범위를 작성하여 대입한다.

Getter메소드를 작성해서 외부로 전달할 수 있도록 하고, 위와 같이 Setter와 Getter 메소드를 작서해서 필드값ㅇ르 안전하게 변경/ 사용하는 결과값을 나타냈다.


▨ G e t t e r

 ○ private 필드의 값을 리턴 하는 역할을 한다. - 필요할 경우 필드 값 가공한다.


 ○ getFieldName() 또는 isFieldName() 메소드로 작성한다.

      (필드 타입이 boolean 일 경우 isFieldName()으로 작성한다.)

▨ S e t t e r

  ○ 외부에서 주어진 값을 필드 값으로 수정한다.

      (필요할 경우 외부의 값을 유효성 검사한다.)

  ○ setFieldName(타입변수) 메소드로 작성한다.

      (매개 변수 타입은 필드의 타입과 동일하다.) 

▨ T I P !

○외부에서 필드 값을 읽기만 가능하고, 변경하지 못 하도록 하기 위해서는 Getter 메소드만 선언하는 방법이 있다.


○그리고 다른 방법으로는 Setter  메소드를 private 접근 제한을 갖도록 선언해도 좋은 방법이다.

0개의 댓글