5. setter( ), 객체의 필드 값 초기화, 변경
1. set, setter
💡
Tip
Set - 시스템 세팅(setting), 무언가(ex. 값)를 설정하다
setter - 무언가를 설정해주는 사람, 역할
2. setter 메서드
setter 메서드란, 필드 값을 초기화하거나 변경하는 방법을 가리키는 메서드를 일반적으로 부르는 명칭을 의미
혼동할 수 있는 점은 메서드의 이름을 그렇게 표현한다는 것이지,
생성자와 같이 인스턴스를 생성할 때 사용하는 것과 같이 특별한 규칙이 있는 메서드는 아니고 일반 메서드로 볼 수 있음
Note
setter는 메서드의 이름 작성 규칙만 일관화시킨 일반 메서드
개발자들 사이에서 관습적으로 사용되는 네이밍 규칙이 지켜진 메서드
3. 사용 예시
setter()를 사용하여 적용하면 문제 1에 대한 부분을 해결할 수 있음
문제 1.
`changeAge()`는 [[7. 특성의 중복 - 두 번째]] 에서 본
`printMouse()` vs `toString()`과 같이 메서드의 이름에 개발자의 주관이 들어가있음💡
Tip
편집기(IDE)에서는 toString()과 같이 해당 방식으로 자동완성 기능을 제공
Eclipse - Setter 자동 완성 단축키
Alt + Shift + S
→ Generate Getter and Setter~ 버튼 선택
Mouse.java
public class Mouse {
private int age;
private String name;
Mouse(int age, String name) {
this.age = age;
this.name = name;
}
// public void 나이먹자(int age) {
// this.age = age;
// }
public void setAge(int age) {
this.age = age;
}
public void setName(String name) {
this.name = name;
}
}→ 나이먹자()와 동작은 동일하고, 메서드의 이름만 다른 메서드
따라서 모든 메서드는 아래의 형태로 자동완성됨
“set + 필드의 이름” // 필드의 앞 글자는 camelCase규칙을 지켜서 대문자로 시작
→ “setXxx()” 형태
setter 작성 규칙
int age 필드의 경우, setAge();
String name 필드의 경우 setName();Main.java
public class Main {
public static void main(String[] args) {
Mouse jerry = new Mouse(5);
jerry.setAge(10);
}
}→ 일관된 형태로 작성이 가능해짐
Last updated on