Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

WON.dev

chapter04 : polymorphism 본문

JAVA/chapter16_polymorphism

chapter04 : polymorphism

GAWON 2023. 5. 26. 18:53
package org.joonzis.ex;
class Person{
	public void eat(String food) {
		System.out.println(food + "먹는다");
	}
	public void sleep() {
		System.out.println("잔다");
	}
}
class Student extends Person{
	public void study() {
		System.out.println("공부한다.");
	}
}
class Worker extends Person{
	public void work() {
		System.out.println("일한다.");
	}
}
public class Ex04_polymorphism {
	public static void main(String[] args) {
		
		
		Person person1 = new Student();	// 업 캐스팅
		// 학생은 급식먹고 잠 자고 공부하고
		person1.eat("급식");
		person1.sleep();
		// 다운 캐스팅 : Person -> Student 강제 변환
		if(person1 instanceof Student) {	// person1이 Student 객체 인가?
			Student stu = (Student)person1; // 다운 캐스팅
			stu.study();
		}
		
		System.out.println("--------------------------");
		
		Person person2 = new Worker();	// 업 캐스팅
		// 직장인은 술먹고 잠 자고 일하고
		
		person2.eat("술");
		person2.sleep();
		if(person2 instanceof Worker) {
			((Worker)person2).work();
		}
		
		
	}
}

'JAVA > chapter16_polymorphism' 카테고리의 다른 글

Test . polymorphism  (0) 2023.05.30
chapter03 : polymorphism  (0) 2023.05.26
chapter02 : polymorphism  (0) 2023.05.26
chapter01 : polymorphism  (0) 2023.05.26