☕JAVA/🔎 공부 [JAVA]

[JAVA] 메소드 - 오버라이딩

디카페인라떼 2022. 8. 10. 18:47

2022.08.10 - [JAVA] - [JAVA] 상속 / super / 부모생성자

 

[JAVA] 상속 / super / 부모생성자

상속 : 부모가 가진 것을 자식에게 물려주는 것 노트북은 컴퓨터의 한 종류다. 컴퓨터(부모)-노트북(자식) 침대는 가구의 한 종류다. 혹은 침대는 가구다. 가구(부모)-침대(자식) => is a 관계 혹은 k

wearegolden.tistory.com

 

<오버라이딩> 

: 부모가 가지고 있는 메소드와 똑같은 모양의 메소드를 자식이 가지고 있는것

즉, 부모클래스의 메소드를 자식클래스에서 재정의하여 사용하는 것

  • 부모클래스
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