게터와 세터에 대한
private String value;
public void setValue(String value) {
this.value=value;
}
public String getValue() {
return value;
}
캡슐화를위한 자바 세계에서 사실상의 표준으로 뿌리를 가지고있다. 이것은 객체 지향 프로그래밍의 전체 원칙입니다.
를 예로 들어 다음 클래스를 고려
// boilerplate
public class A {
public String b;
}
이 완벽하게 유효한 자바 클래스는 단일 필드입니다. 다른 클래스는의 B 속성을 읽어하고자하는 경우, 모든이에이 필요합니다 :
A a;
String val = a.b;
및 쓰기에 대한
:
a.b = val;
여기에서 문제는 더 이상 내부 상태에 기록 제어하는 없습니다 . b의 길이가 최대 1,024 문자라는 것을 알았습니다. 이제 b에 대한 쓰기의 모든 인스턴스가 새 요구 사항에 맞게 업데이트되어야합니다. 코드 기반의 크기에 따라 매우 비쌉니다.
// boilerplate
public class A {
private String b;
public void setB(String val) {
this.b = val;
}
public String getB() {
return this.b;
}
}
지금과 같이 읽습니다 :
A a;
String val = a.getB();
및 쓰기 :
a.setB(val);
이 소요
또한, 우리는 B 캡슐화하는 getter와 setter 규칙을 사용했다 가정 단기간에 글쓰기는 더 길지만 이사회 전반의 변화는 통합하기가 훨씬 쉽습니다. 세터 변경.
캡슐화가 매우 높기 때문에 다른 많은 의견 제시자가 지적한 것처럼 많은 Java 프레임 워크에서이를 기대합니다.
내 변수 이름이 '메소드'인 경우 setMethod (type)는 ok가됩니다. – Nil
낙타 케이싱 대회에서는 변수 이름을 대문자로 시작하지 않습니다. 컨벤션을 따라하면 당신과 당신의 코드를 관리하는 사람이 더 편하게 생활 할 수 있습니다. 질문에 대답하기 위해 'setMethod'가 될 것입니다. –