-->

[정보처리기사] 오버로딩(Overloading)과 오버라이딩(Overriding)

오버로딩(Overloading)이란?

오버로딩이란 같은 이름의 메소드를 여러개 정의하면서 매개변수의 유형과 개수가 다르게 하는 것을 말한다.

 

오버라이딩(Overriding)이란?

상위 클래스의 메소드를 하위클래스에서 재정의해서 사용하는 것을 말한다.

 

 

오버로딩, 오버라이딩 관련 기출문제

그냥 정의만 봐서는 이해가 잘 가지 않으니 예제문을 하나 봐보자. 9급 전산직 기출 문제 중 하나로 Java 프로그램의 출력 결과를 묻고있다.

 

여기서 오버라이딩이 될 수 있는 조건을 먼저 알아야 하는데, 오버라이딩이 되기 위해선 시그니처(반환형, 메소드명, 인자개수/형)이 같아야 한다. 그런데 func2의 경우 반환형이 int/double로 불일치한다. 따라서 오버라이딩이 되지 않았기 때문에 재정의한 메소드 대신 부모클래스의 메소드가 수행되게 된다. 그리고 오버라이딩이 되는 func1, func3의 경우 하위클래스인 ClassA의 메소드가 수행되게 된다.

 

따라서 결과는 1,3,2가 된다.

 

전산직 9급 기출문제 (출처 : http://q.fran.kr/)

 

댓글

Designed by JB FACTORY