Java 1학년

[캡슐화] 필드 제한 / 메소드 구분 하기

양상추상츄 2022. 2. 21. 00:24
public class MyClass {

  private String myName = "";

  public void hello() {
    System.out.println(myName + "입니다. 안녕하세요");
  }

  public void setMyname(String name) {
    if(myName == "") {
      myName = name;
    }
  }

  public void renameMyName(String name) {
    if (myName != "") {
      myName = name;
    }
  }
}

 

public class Main {
  public static void main(String[] args) {
    MyClass iroha = new MyClass();

    iroha.setMyname("이로하");

    iroha.renameMyName("너구리");

    iroha.hello();
  }
}

 

실수로 바뀔 수 있는 필드를 private으로 제한함

 

제한한 값은 처음 setter를 통해 set한 후에는 변경되지 않음

 

set한 후에 다시 값을 변경할 메소드를 따로 만들어 메소드를 구분한다.

 

정확히 용도를 의식해서 메소드를 선택하게 한다.