[정보처리기사] 오버로딩(Overloading)과 오버라이딩(Overriding)
- 자격증,이론/정보처리기사
- 2020. 5. 26. 23:58
오버로딩(Overloading)이란?
오버로딩이란 같은 이름의 메소드를 여러개 정의하면서 매개변수의 유형과 개수가 다르게 하는 것을 말한다.
오버라이딩(Overriding)이란?
상위 클래스의 메소드를 하위클래스에서 재정의해서 사용하는 것을 말한다.
오버로딩, 오버라이딩 관련 기출문제
그냥 정의만 봐서는 이해가 잘 가지 않으니 예제문을 하나 봐보자. 9급 전산직 기출 문제 중 하나로 Java 프로그램의 출력 결과를 묻고있다.
여기서 오버라이딩이 될 수 있는 조건을 먼저 알아야 하는데, 오버라이딩이 되기 위해선 시그니처(반환형, 메소드명, 인자개수/형)이 같아야 한다. 그런데 func2의 경우 반환형이 int/double로 불일치한다. 따라서 오버라이딩이 되지 않았기 때문에 재정의한 메소드 대신 부모클래스의 메소드가 수행되게 된다. 그리고 오버라이딩이 되는 func1, func3의 경우 하위클래스인 ClassA의 메소드가 수행되게 된다.
따라서 결과는 1,3,2가 된다.
'자격증,이론 > 정보처리기사' 카테고리의 다른 글
[정보처리기사] 데이터베이스 뷰(View) 정의/특징/장점/단점 (0) | 2020.05.27 |
---|---|
[정보처리기사] 시스템 카탈로그, 저장정보 및 특징 (0) | 2020.05.27 |
[정보처리기사] 프로세스의 상태전이와 제어블록(PCB), 스레드와의 차이점 (0) | 2020.05.26 |
[정보처리기사] 소프트웨어 테스트 기법 (화이트박스/블랙박스) (0) | 2020.05.26 |
[정보처리기사] 데이터베이스 정규화의 목적과 과정 (0) | 2020.05.25 |