포함 관계 (composite)
: 클래스이 멤버로 참조변수를 선언하는것
작은 단위의 클래스를 만들고, 이 들을 조합해서 클래스를 만든다.
class card {
String name; // 카드사
String num; // 카드번호
String pwd; // 연계 된 계좌
String accName; // 계좌이름
String accNum; // 계좌번호
String accpwd; // 계좌비번
int accMoney; // 계좌 잔고
} // 이렇게 안에 변수가 많으면 찾기가 어려우니
//class card1 과 Account 처럼 분리해서 사용하는 게 좋다
class card1 { //카드에 필요한 내용만 모아서 card1에 담아 준다
String name; // 카드사
String num; // 카드번호
String pwd;// 비밀번호
Account acc = new Account(); // Account 객체 타입의 멤버변수들을 card1 안에서 생성
// 이것을 포함관계라고 한다 : 다른 클래스 타입을 맴버 변수로 갖는것,
// 즉 card1 에는 account 의 모든 내용을 포함하고 있다.
}
class Account { // 계좌에 필요한 내용만 골라서 담아 준다.
String name; // 계좌은행
String num; // 계좌번호
String pwd; // 계좌비번
int money; // 계좌잔고
}
public class 객체를멤버로갖는클래스 {
public static void main(String[] args) {
// TODO Auto-generated method stub
card7 c = new card7();
c.name = "신한카드";
c.num = "1325565787";
c.pwd = "0000";
c.acc.name = "신한은행";
c.acc.num = "234-4567";
c.acc.pwd = "0000";
c.acc.money = 10000;
System.out.println("카드사 : " + c.name);
System.out.println("카드 번호 : " + c.num);
System.out.println("카드 비밀번호 : " + c.pwd);
System.out.println("계좌 은행 : " + c.acc.name);
System.out.println("계좌 변호 : " + c.acc.num);
System.out.println("계좌 비번 : " + c.acc.pwd);
System.out.println("잔액 : " + c.acc.money);
}
}
'JAVA' 카테고리의 다른 글
[JAVA] 객체지향 - 생성자 (0) | 2023.02.28 |
---|---|
[JAVA] 객체지향 - 클래스 (class) (0) | 2023.02.28 |
[JAVA] 객체지향 - 객체를 담는 배열 (0) | 2023.02.26 |
[JAVA] 객체지향 - VO, DAO, DTO (0) | 2023.02.26 |
[JAVA] 객체지향언어 (0) | 2023.02.26 |