[9일차] 자바 - 상속(Inheritance), 오버라이딩(Overriding)

SOSO·2022년 4월 26일
0

학원

목록 보기
9/59
post-thumbnail

상속 (Inheritance)

상속 이란

부모 클래스를 확장해서 새로운 자식 클래스를 만드는 기술을 의미

상속 정의

class [sub클래스명] extends [super클래스명] {
----
}

오버라이딩 (Overriding)

오버라이딩 이란

서로 상속관계로 이루어진 객체들간의 매서드 재정의

오버라이딩 정의

[접근제한] [반환형] [메서드명] (자료형 인자1, 자료형 인자2, …){}
반드시 동일 반드시 동일 반드시 동일

*주의 ) 접근제한의 경우 부모클래스의 메서드의 접근제한보다 제한범위가 넓어야 한다

상속 & 오버라이딩 예시

//부모 클래스
class GrandParent{
	public String getCar() {
		return "구형 자동차";
	}
}
//자식 클래스
class Father extends GrandParent{
	//Method Overriding(메서드 재정의)
	//상속관계에서 부모 클래스의 메서드를 재정의하면 객체 생성 후 재정의 된 메서드를
	//호출하면 부모 클래스의 메서드가 호출되지 않고 자식 클래스의 재정의된 메서드가 호출됨
	
	//어노테이션
	//재정의 메서드 오버라이딩 문법에 맞게 재정의 되었는지를 검증
	@Override
	public String getCar() {
		return "신형 자동차";
	}
	
}

//자식 클래스
class Uncle extends GrandParent{
	
}

public class OverridingMain01 {
	public static void main(String[] args) {
		Father ft= new Father();
		Uncle uc = new Uncle();
		System.out.println(ft.getCar());
		System.out.println(uc.getCar());
	}
}

결과

신형 자동차
구형 자동차
profile
한다 열심히

0개의 댓글