IT강의/프로그래밍언어

Java 메소드 오버라이딩

샤핑 2021. 8. 15. 13:17
728x90
반응형

이번 시간에는 메소드 오버라이딩을 Java로 살펴보겠습니다.

 

 

 

메소드 오버라이딩 (Method Overriding) - "전에 있는 걸 갈아 엎어버리자!"

- 슈퍼 클래스에서 구현된 함수를 서브 클래스에서 재구현하는 것을 의미합니다

- 완전히 같은 두 함수가 슈퍼 클래스(부모 클래스)와 서브 클래스(자식 클래스)에 각각 있다고 이해하면 됩니다

- 변형, 변질되는 특성이 있으므로 Polymorphism(다형성)에 해당합니다

 

 

 

맨 위의 그림을 일부 Java로 구현하였습니다. (소스 코드는 맨 밑에서 다운받을 수 있습니다)

클래스 A, B, C 가 있고 'A→B→C' 로 상속 받고 있습니다. 다시 말해, A가 슈퍼 클래스 입니다.

슈퍼 클래스 A에 func() 함수가 있고, 서브 클래스 B, C에 재구현 되어 있습니다. 따라서 B 인스턴스 또는 C 인스턴스 생성 시 기존 함수는 무시되고 재구현된 함수가 실행됩니다. 메소드 오버라이딩이 발생하는 것입니다.

 

 

 

위의 코드를 실행하겠습니다.

 

 

 

따라서 실행 결과는 위와 같습니다.

 

 

[소스 코드]

https://github.com/jhs951101/JavaOverriding

 

 

[출처]

위키백과: 메소드 오버라이딩

728x90
반응형
LIST