책 내용 질문하기
2권 244페이지 자바 문제 질문드립니다.
도서
2023 시나공 정보처리기사 실기
페이지
244
조회수
12
작성일
2025-07-03
작성자
이*경
첨부파일

상속과 오버라이딩에 관련된 문제로 이해하고 풀었습니다. 동영상 풀이를 보고 정답이 유추되는 과정은 이해했으나 제가 풀이한 식과 무엇이 다르기에 도출되는 답이 틀린지 알고싶습니다!



class SuperObject {

(기타 다른 코드)

public void draw() {

draw();

system.out.println("Super Object")

}

}




class SubObject extends SuperObject {

(기타 다른 코드)

public void draw() {

System.out.println("Sub Object");

}

}


해당 식으로 구성되어 있을때 저는 draw()메서드가 이름과 인자값이 같아 오버라이딩 된다고 생각했습니다. 오버라이딩이 되면, SuperObject의 draw 메서드 대신 자식 메서드로 대체되어 Sub Object만 출력이 된다고 생각했는데.

더 정확하게 어떤 경우에 메서드가 오버라이딩 되고 어떤 경우에 메서드가 번갈아 출력되는지 설명 해주실수 있으실까요ㅠㅠ

답변
2025-07-03 20:54:01

안녕하세요 길벗수험서 운영팀입니다.

super.draw( ) ; 이코드에 보시면 super라는 예약어가 사용이 되었습니다.

super 예약어는 상속 관계에 있는 부모 클래스를 가리키는 예약어 입니다.

이런 코드를 만나면 부모 클래스의 draw( )가 실행됩니다


draw( ) ; 이코드에는 super라는 예약어가 사용되지 않았습니다.

이문제는 회원님께서 말씀하신것처럼 draw( ) 메소드가 자식 클래스에서 재정의를 통해 오버라이딩 된 메소드이므로

자식 클래스의 draw( ) 메소드를 수행합니다


행복한 하루되세요 :)

  • 관리자
    2025-07-03 20:54:01

    안녕하세요 길벗수험서 운영팀입니다.

    super.draw( ) ; 이코드에 보시면 super라는 예약어가 사용이 되었습니다.

    super 예약어는 상속 관계에 있는 부모 클래스를 가리키는 예약어 입니다.

    이런 코드를 만나면 부모 클래스의 draw( )가 실행됩니다


    draw( ) ; 이코드에는 super라는 예약어가 사용되지 않았습니다.

    이문제는 회원님께서 말씀하신것처럼 draw( ) 메소드가 자식 클래스에서 재정의를 통해 오버라이딩 된 메소드이므로

    자식 클래스의 draw( ) 메소드를 수행합니다


    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.