관련 이론 및 문법

(기본 생성자, 상속시 부모 생성자 호출, super 참고)

http://kkikkodev.tistory.com/87


문제 의도

코드를 컴파일한 후 실행한 결과를 고르는 문제입니다.


답안

C


풀이 방법

이 문제는, 메소드 호출에 관련한 문제입니다. Hello 클래스 안에서 12 라인에 보면, Hello(); 라는 메소드 호출문이 있는데, 이 호출문이 5 번 라인에 있는 Hello() 생성자를 호출할 의도였다면, Hello(); 가 아닌, new Hello(); 가 되었어야 합니다. 생성자 메소드는 다른 메소드들 처럼, 메소드명만으로 호출할 수가 없고, new 를 동반해야 합니다. 따라서, 12 라인에서는 일반 메소드 Hello 를 찾게 되고, 그러한 이름의 일반 메소드가 존재하지 않으므로, 컴파일 에러가 발생하게 됩니다. 결과적으로 답안은 C 가 됩니다.


by kkikkodev 2016. 10. 29. 17:42