2022.08.10 - [JAVA] - [JAVA] 상속 / super / 부모생성자
<오버라이딩>
: 부모가 가지고 있는 메소드와 똑같은 모양의 메소드를 자식이 가지고 있는것
즉, 부모클래스의 메소드를 자식클래스에서 재정의하여 사용하는 것
- 부모클래스
public class Car1 { //부모클래스
public void run() { //부모 메서드
System.out.println("달리다");
}
}
- 자식클래스
public class Bus extends Car1 {//자식클래스
public void run() {//오버라이딩
System.out.println("bus의 run 메소드");
}
}
- 동작
public class BusExam {
public static void main(String[] args) {
Bus bus = new Bus();//객체생성
bus.run();//Bus의run메소드 실행
//부모클래스의 메소드 ->(오버라이딩)->자식클래스의 메소드가실행
//오버라이딩 : 부모의 메서드와 동일한 메서드를 자식이 재정의하여 사용
❗오버라이딩 한다고해서 부모메서드가 사라지는 것은 아님!!
- super 키워드를 사용하면 부모의 메서드도 호출 가능함!
- 자식클래스
public class Bus extends Car1 {
public void run() {
super.run();//부모가 가진 메서드 호출하여 실행
//super를 이용하여 자식 클래스에서도 부모의 클래스 사용 가능
//부모의 메서드가 사라지지않음 확인 가능
System.out.println("bus의 run 메소드");
}
}
=>다시 출력하면
달리다
bus의 run 메소드
=> 부모의 메소드와 자식메소드 둘다 출력됨을 확인 가능
❗오버라이딩 한다고해서 부모메서드가 사라지는 것은 아님!!
'☕JAVA > 🔎 공부 [JAVA]' 카테고리의 다른 글
[JAVA] 내부클래스 (0) | 2022.08.12 |
---|---|
[JAVA] 인터페이스 (0) | 2022.08.12 |
[JAVA] 추상클래스 (0) | 2022.08.10 |
[JAVA] 접근 제어자 (0) | 2022.08.10 |
[JAVA] 상속 / super / 부모생성자/ 클래스형변환 (0) | 2022.08.10 |