쉽게 배우는 자바 프로그래밍(우종정) 프로그래밍 문제 풀이 4장 - 7번

2019. 12. 4. 20:21쉽게 배우는 자바 프로그래밍

  class GolfClub {
    private int num;
    private String name;

    public GolfClub () {
        this.num = 7;
        this.name = "아이언";
    }

    public GolfClub (int num) {
          this.num = num;
          this.name = "아이언";
      }

      public GolfClub (String name) {
          this.name = name;
        this.num = -1;
      }

    public void print () {
        if (num < 0)
            System.out.println(name + "입니다.");
        else
            System.out.println(num + "번 " + name + "입니다.");
    }

}
    public class GolfClubTest {
    public static void main(String[] args) {
        GolfClub g1 = new GolfClub();
        g1.print();

        GolfClub g2 = new GolfClub(8);
        g2.print();

        GolfClub g3 = new GolfClub("퍼터");
        g3.print();
    }
}

퍼터입니다를 출력하기 위해서 this.num을 어떻게 할까 고민하다가.. 결국 음수로 설정해서 print 메서드 안에 if문을 써서 구분하기로 했다.

 

헉 근데 찾아보니 아예 private int num; 대신 private Object num;으로 선언하면 퍼터입니다를 해줘야 하는 부분에서 this.num = null;을 쓸 수 있다!