NameCard_main
import cls.NameCard;
import cls.PrintNameCard;
import cls.PrintNamePhoneCard;
public class NameCard_main {
public static void main(String[] args) {
NameCard namecard = new NameCard("홍길동", "123-4567", "asdf@naver.com");
// PrintNameCard pnc = new PrintNameCard();
// namecard.setPrintNameCard(pnc); // NameCard 18번째 줄로 정보 감
namecard.setPrintNameCard(new PrintNameCard()); // 12,13줄을 요약한것
namecard.print(); // NameCard의 22번째 줄 가져옴
PrintNamePhoneCard pnpc = new PrintNamePhoneCard();
namecard.setPrintNamePhoneCard(pnpc);
namecard.printPhone();
}
}
NameCard
package cls;
public class NameCard { // main 8번째 줄에 작성된 내용의 형태를 만들기 위한 class
String name;
String phone;
String email;
PrintNameCard pNameCard; // PrintNameCard에 해당하는 멤버변수
public NameCard(String name, String phone, String email) {
super();
this.name = name;
this.phone = phone;
this.email = email;
}
public void setPrintNameCard(PrintNameCard p) { // main에서 생성된 것이(밖에서) 이 클래스로 온것
pNameCard = p; // 9번째 줄 pNamecard가 p에 저장되는것!
}
public void print() { // PrintNameCard 9번째줄
pNameCard.print(this); // PrintNameCard 9번째 줄 nc로 정보를 넘기기위해
// this는 NameCard에 있는 주소...
}
PrintNamePhoneCard pNamePhonCard;
public void setPrintNamePhoneCard(PrintNamePhoneCard p) {
pNamePhonCard = p;
}
public void printPhone() {
pNamePhonCard.print(this);
}
}
PrintNameCard
package cls;
public class PrintNameCard {
// public PrintNameCard() { // 암묵적으로 있다고 본다.
//
// }
// NameCard로부터 정보를 받아 오는 부분
public void print(NameCard nc) { // 매개변수로 클래스 이름 잡으면 다 가져올 수 있다
System.out.println("이름: " + nc.name);
}
}
PrintNamePhoneCard
package cls;
public class PrintNamePhoneCard {
public void print(NameCard nc) {
System.out.println("이름: " + nc.name);
System.out.println("전화번호: " + nc.phone);
}
}
'Java' 카테고리의 다른 글
[Java] 숫자 정렬 (0) | 2022.05.17 |
---|---|
[Java] 학생들의 평균 점수를 구하라 (0) | 2022.05.16 |
switch (0) | 2022.05.10 |
[Java] 계산기 (0) | 2022.05.02 |
[Java] Override (0) | 2022.04.12 |
댓글