1. 다형성
- 타입비교하는 방법: 변수명 instanceof 클래스
- 형변환
ex)
Employee6 [] empArray = {
new Employee6("강감찬", 200),
new Manager6("이순신1", 200, "인사"),
new Engineer6("홍길동", 100, "JAVA"),
new Manager6("이순신2", 200, "인사"),
new Secretary6("유관순", 200),
new Manager6("이순신3", 200, "인사")
};
문제1: 배열에서 Manager 만 출력하시오.
for( Employee e: empArray) {
if (e instanceof Manager) {
System.out.println( e.getEmployee( ) );
}
}
문제2: 배열에서 Manager 에 추가된 depart 만 출력하시오.
for( Employee e: empArray) {
if (e instanceof Manager) {
// 형변환
Manager m = (Manager)e;
System.out.println( e.depart );
}
}
package exam12_상속후_5_다형성;
public class TestMain6_3 {
public static void main(String[] args) {
// 2024-03-20
// 다형성 활용 (예) - 배열
Employee6 [] empArray = {
new Employee6("강감찬", 200),
new Manager6("이순신1", 200, "인사"),
new Engineer6("홍길동", 100, "JAVA"),
new Manager6("이순신2", 200, "인사"),
new Secretary6("유관순", 200),
new Manager6("이순신3", 200, "인사")
};
// 1. 배열출력
for (Employee6 e6 : empArray) {
System.out.println(e6.getEmployee());
}
System.out.println();
// 2. Manager 만 출력하시오
for (Employee6 e6 : empArray) {
if(e6 instanceof Manager6) {
System.out.println(e6.getEmployee());
}
}
System.out.println();
// 3. 배열에서 Manager 에 추가된 depart 만 출력하시오.
for(Employee6 e6: empArray) {
if(e6 instanceof Manager6) {
// 형변환
Manager6 m6 = (Manager6)e6;
System.out.println(m6.depart);
}
}
}
}
'[study]이론정리 > JAVA(eclipse)' 카테고리의 다른 글
java 9일차 _03. 접근지정자 (0) | 2024.03.20 |
---|---|
java 9일차 _02. Object 의 toString( ) (0) | 2024.03.20 |
java 9일차 _ 8일차 리뷰 (0) | 2024.03.20 |
java 8일차 _03. 다형성 (0) | 2024.03.19 |
java 8일차_ 02. 상속(2) (0) | 2024.03.19 |