문제
다음 Java 프로그램의 실행 결과는?
① Barking ② Animaling ③ 컴파일 오류 ④ Running
정답
1번
해설
Animal 타입으로 선언된 변수 a에 Dog 객체를 생성하여 할당했다. a.sound() 호출 시 다형성에 의해 Dog 클래스에서 오버라이드된 sound() 메서드가 실행되어 "Bark"가 출력되고, 이어서 "ing"이 출력되어 "Barking"이 결과가 된다. ②는 오버라이딩을 고려하지 않은 오답이고, ③④는 문법적으로 올바른 코드이므로 해당하지 않는다.