[자바/JAVA] GETTER&SETTER 왜 쓰는 것일까?

박정현·2023년 9월 2일
0

🏠자바의 기초완성

목록 보기
19/23

Getter & Setter

getter와 setter는 객체지향 프로그래밍에서 사용되는 개념이며 일종의 메소드이다. getter는 값을 반환하는 메소드, setter는 객체의 값을 설정 및 변경하는 메소드라고 보면 된다.

Getter&Setter 왜 사용할까?


private를 관리하기 위해서이다.

일단 getter&setter를 사용하는 이유는 외부 클래스의 필드에 직접 접근하는 것을 막기 위해서이다. 따라서 필드들을 private 접근 제한자로 막아두고 각 필드에는 getter&setter로 접근하는 방식을 사용한다.

  1. 정보은닉

    객체 내부의 필드에 직접 접근하지 않아 객체의 정보은닉을 가능하게 해주어 보안을 강화할 수 있다.

  1. 코드의 안정성과 유지보수성을 높일 수 있음

  2. 값 필터링

    예를 들어 weight 프로퍼티에는 -100, 500 과 같은 값은 들어올 수 없다. 그러면 이 값을 할당받지 못하게 해야되는데 setter 메소드를 경유하도록 설정하면 if문을 통해 값을 필터링을 할 수 있게 된다.

Getter & Setter 메소드 선언 방식


private String name;

// Getter
public String getName(){
	return name;
}

// Setter
public void setName(String name){
	this.name = name
}

Getter

getName()

  • 접근제한자: public ( 이 메소드는 외부에서 사용할 수 있도록 해야 하므로 public을 사용해야 한다.)
  • 리턴타입: 필드의 리턴타입을 사용
  • 메소드 이름: get + 필드명 ( 필드명의 첫 글자는 반드시 대문자로 한다.)
  • 리턴값: 필드값

Setter

setName( String name)

  • 접근제한자: public
  • 리턴타입: void
  • 메소드명: set + 필드명 ( 필드명의 첫 글자는 반드시 대문자로 한다.)
  • 매개변수타입 : 필드 타입

보통은 직접 작성하지 않고 자동으로 getter&setter을 생성한다.

📚 Reference

신용권, 『혼자공부하는 자』, 한빛미디어(2023)

kephl Javatory, https://kephilab.tistory.com/54

인파, https://inpa.tistory.com/entry/JS-📚-getter-setter-란

profile
개발을 개발괴발하지 않기 위한 노력

0개의 댓글