자바 64) 상속 Bird2

hahahoho셍·2021년 5월 15일
0

자바 공부

목록 보기
67/97
package ex08_inher;
//이름넣기 2
//부모 클래스
class Bird{
	protected String name;
	
	public Bird(String name) {
		super();
		this.name = name;
	}
	void born() {
		System.out.println(name +"알을 낳음");
	}
	void fly() {
		System.out.println(name + "난다");
	}
}

class Srerrow extends Bird {

	Srerrow(String name){
		super(name); //부모의 생성자 실행
		//super : 내 클래스의 name를 부모에 셋팅해라
	}
}

class Ostrich extends Bird{

	Ostrich(String name){
		super(name); //부모의 생성자 실행 
	}

	//오버라이딩
	@Override  //얘가 있으면 오타나도 잡아줌
	void fly() {  //부모클래스의 메소드를 재정의 수정 (오버라이딩)
		System.out.println(name + "날수 없다.");  //자식 메소드에 같은게 있으면 자식 우선 //우클릭 소스 오버라이드 임프리먼트 누르면 자동 완성
	}
	
}


public class J20210503_03_Bird2 {

	public static void main(String[] args) {
		Srerrow s1 = new Srerrow("참새");
		
		s1.born();
		s1.fly();
		
		Ostrich o1 = new Ostrich("타조");
		o1.born();
		o1.fly();
		
		Bird o2 = new Ostrich("타조");  //부모형으로도 선언 가능 (부모는 자식을 다 나타낼 수 있음)
		
		
		Object o3 = new Ostrich("타조");  //업캐스팅 (자식형을 부모형으로) (자동)
		Ostrich o4 = (Ostrich)o3;  //다운캐스팅 (부모형을 자식형으로) (수동)
		o4.fly();
		
		
		

	}

}
profile
그냥 공부 한거 적는 벨로그 하하하핳ㅎ하하하핳하ㅏ

0개의 댓글

관련 채용 정보