본문 바로가기

JAVA

Java_8강

  MVC 패턴 예제 생정자&오버라이드

5강에서 기재한 MVC 패턴 예제에서 데이터를 생성자 및 오버라이드 추가하기

 

수정한 예제 코드)

- dto 패키지 => PhoneInfo

public PhoneInfo(){}
public PhoneInfo(String name, String phone, String birth, int age) { // Contract
    this.name = name;
    this.phone = phone;
    this.birth = birth;
    this.age = age;
}

@Override
public String toString() {
    String str = "이름 : " + name + "\n"
            + "연락처 : " + phone + "\n"
            + "생일 : " + birth + "\n"
            + "나이 : " + age;
    return str;
}

- PhoneInfo 클래스 내에 해당 코드를 수정

// 한 명분의 연락처 생성
PhoneInfo pInfo =
       new PhoneInfo(name, phone, birth, age);
/*
PhoneInfo pInfo = new PhoneInfo();
pInfo.setName(io.inStr("이름 : "));
pInfo.setPhone(io.inStr("전화번호 : "));
pInfo.setBirth(io.inStr("생일(mm-dd) : "));
pInfo.setAge(io.inNum("나이 : "));
*/
// 연락처 목록에 연락처 추가

입력 메소드에서 setter를 이용해 하나씩 대입시켰던 이전과는 달리 Contract를 이용하여 매개변수에 입력한 값을 대입할 수 있도록 했다.

 

 for(i = 0; i < book.size(); i++) {
    p = book.get(i);
    if(sname.equals(p.getName())){
        /*
        io.twoPrint("이름 : " + p.getName());
        io.twoPrint("전화번호 : " + p.getPhone());
        io.twoPrint("생일 : " + p.getBirth());
        io.twoPrint("나이 : " + p.getAge());
        */
        io.twoPrint(p.toString()); // PhoneInfo의 toString Override
        io.twoPrint("------------------");
        break; // for(루프)를 멈추는 break 사용
    }
} // for end

출력/검색/수정/삭제 메소드에서 twoPrint를 이용해 이름/전화번호/생일/나이를 일일이 가져왔던 코드와는 달리 toString을 Override함으로써 코드를 간소화시킬 수 있다.

'JAVA' 카테고리의 다른 글

Java_10강  (0) 2022.09.26
Java_9강  (0) 2022.09.25
Java_7강  (0) 2022.09.22
Java_6강  (0) 2022.09.22
Java_5강(MVC 패턴 예제)  (0) 2022.09.20