Getter/Setter

진기·2024년 1월 24일
0

캡슐화를 통해 정보 은닉을 했다고 가정한다면, private 접근 제어자가 포함되어 있는 데이터의 변경이 필요한 경우, getter와 setter 메서드를 사용하여 데이터의 값을 추가하거나 수정할 수 있다.

getter() 메서드👨🏻‍💻

  • getter 메서드는 설정한 변수 값을 읽어오는 데 사용한다. 경우에 따라 객체 외부에서 필드 값을 사용하기에 부적절한 경우가 발생할 수 있는데, 이러한 경우에는 값을 가공한 이후에 외부로 전달하는 역할을 한다.
  • 내부의 멤버면수에 저장된 값을 외부로 리턴한다.
  • 매개변수는 없고, 리턴값만 있는 메서드로 정의한다.
  • 메서드명은 주로 getFieldName() 메서드 형식으로 지정한다.
    • FieldName은 해당 멤버변수의 변수명을 사용한다.
  • 필드 타입이 boolean일 경우 isFieldName()

setter() 메서드 🧑‍💻

  • setter 메서드는 외부에서 메서드에 접근하여 조건에 맞을 경우 데이터 값을 변경할 수 있도록 한다.
  • 메서드명은 주로 setFieldName() 메서드 형식으로 지정한다.
  • 외부로부터 데이터를 전달 받아 멤버변수에 저장한다.
  • 매개변수만 있고, 리턴값은 없는 메서드로 정의한다.
  • 매개변수 타입은 필드의 타입과 동일하다.

사용

  • 클래스를 선언할 때 필드는 일반적으로 private 접근 제한
  • 읽기 전용 필드가 있을 수 있음 (Getter의 필요성)
  • 외부에서 엉뚱한 값으로 변경할 수 없도록 (Setter의 필요성)
profile
개발 성장 이야기

0개의 댓글