java020

제로·2022년 9월 15일
0

Java basic

목록 보기
19/45
post-custom-banner

1:1 관계 클래스의 선언과 객체 생성

  1. 선언 방식
    1) 종속될 클래스 선언
    2) 포함할 클래스 선언
  2. 1:1 관계 예시
    ex) 개인별 휴대폰, 학생과 성적표, 학생과 전공지도교수 등
public static void main(String[] args) {
		HPerson h01 = new HPerson("홍길동");
        h01.checkMyPocket(); // 할당된 값이 없기에 핸드폰이 없네요 출력
        h01.buyPhone(new HandPhone01("010-1111-1111","Apple"));
		h01.checkMyPocket(); // 할당된 값으로 보유한 핸드폰 정보 출력
}
class HandPhone{	// 종속될 클래스 선언
	private String number;
	private String compy;
	public HandPhone(String number, String compy) {
		this.number = number;
		this.compy = compy;
	}
	public void info() {
		System.out.println("#핸드폰 정보#");
	    System.out.println("번호:"+this.number);
	    System.out.println("제조사:"+this.compy);
	}
}
class HPerson{	// 포함할 클래스 선언
	private String name;
	private HandPhone phone;
	// 1:1관계 설정시, 필드로 객체를 선언하여 사용한다.
	public HPerson(String name) {
		this.name = name;
	}
	public void buyPhone(HandPhone phone) { 
		this.phone=phone;// 객체가 필드에 할당이 됨
	}
	public void checkMyPocket() {
		System.out.println(name+" 주머니 속에 핸드폰을 확인합니다.");
		// cf) 객체할당하는 기능메서드에서는 반드시 아래 조건 처리를 하여야NullPointException에러가 발생하지 않는다.
		if(this.phone==null) { // 위 기능메서드(buyPhone)로 핸드폰이 할당되지 않음.(초기상태)
			System.out.println("핸드폰이 없네요..?");
		}else { // 핸드폰이 할당되어 있음 (this.phone != null)
			this.phone.info();
		}
	}
profile
아자아자 화이팅
post-custom-banner

0개의 댓글