Cute Running Puppy

Java

Java_11Day

jwjin 2019. 4. 1. 23:02
728x90

# instanceof 연산자 , 문제

instanceof 연산자 : 좌측의 객체가 우측 클래스 타입의 Instance 여부를 검증해서 true / false 를 리턴합니다.

보통 다형성을 구현 할 때 대입되는 객체(인스턴스)가 어떤 타입인지 모를 때 사용되며 , 프로그램 실행시에 객체

타입을 검증 하는 특징을 가지므로 컴파일 에러 여부와는 상관이 없습니다.

문제입니다.

1. Father, 메서드는 job(){}
2. 위 메서드는 내용부가 없습니다.
3. Brother, Sister, Me 클래스를 정의 하세요.
4. 모두 Father 를 상속 해야 합니다.
5. Brother(클래스)는 직업(job)이 프로야구 선수입니다.
6. Sister(클래스)는 직업(job)이 피겨 선수입니다.
7. Me(나)의 직업은 프로그래머 입니다.
8. 나(Me) 는 두개의 직업(secondJob()) 이 있는데, DJ를 하고 있습니다.
9. 위 내용을 모두 정의 하세요.

10. Class FamilyInfo 클래스를 정의하고, main 메서드내에 Brother, Sister, Me 객체를 생성후 Father 타입의 배열에 넣으세요.
11.가족의 직업을 출력 하는데, 오버라이드된 메서드가 나오도록 하고, 나(Me) 인 경우엔
두번째 직업도 출력 되도록 하세요.(Class Casting, instanceOf 이용)

위를 구현하라는 문제입니다. 우선 부모메서드(Father)을 만들고 그 안의 메서드를 job으로 만듭니다.

그리고 나서 Brother , Sister , Me 클래스를 만드는데 이때 Father 클래스를 상속해야 합니다.

그리고 Brother 클래스에 직업(프로야구 선수)을 , Sister 클래스에 직업(피겨 선수)을 , Me 클래스에 (프로그래머)

를 넣어야 하는데 이때 Me는 두가지의 직업이 있어서 직업 한개(DJ)를 더 넣어야 합니다.

이때 직업(DJ..)를 출력할 때에는 instanceof와 클래스 캐스팅을 해야합니다.

 

한클래스 안에 자식 메서드를 여러개 만들 수 있습니다.

따라서 부모 클래스 안에 Brother , Sister , Me 클래스를 다 정의합니다.

 

출력을 하기 위해 클래스를 하나 더 만들어 줍니다.

만든다음 객체를 생성하고 배열을 만듭니다. 그리고 나서 반복문을 이용해 secondJob을 출력합니다.

f를 이용해 출력

728x90

'Java' 카테고리의 다른 글

Java_13Day  (0) 2019.04.03
Java_12Day  (0) 2019.04.02
Java_10Day  (0) 2019.03.29
Java_09Day  (0) 2019.03.28
Java_08Day  (0) 2019.03.27