책 내용 질문하기
2권 230p 3번
도서
2021 시나공 정보처리기사 실기
페이지
230
조회수
430
작성일
2021-04-18
작성자
탈퇴*원
첨부파일
상속관련해서 궁금한게 있어서요 3번 문제를 약간 변형해서 질문 드릴게요 ㅠ class A{ int a; Public A (int a){ this.a=a; System.out.println(“frista=“ +a); } } Main에 있는 객체 변수 생성하는 구문인 B obj = new B (10) ; 를 A obj = new A (10) ; 로 바꾸면 출력값이 frista=10으로 나오는게 맞나요? 객체 생성시 자식클래스 생성하는게 아니고 부모자식으로 하면 오버라이딩을 해도 부모로 가서 실행되는지 궁금해서요,,, 제가 궁금한점을 글로 잘 설명못하는거 같아서 예시아닌 예시를 들었숩니다,,
답변
2021-04-19 13:51:25

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

 

부모자식이라는 것이 형변환을 말씀하시는 건가요?

 

문의하신 class A 정의문에서 A obj = new A(10)을 하게 되면, frista=10이 출력되겠네요.

 

오버라이딩이 된다는 것은 B의 내용으로 덮어쓰기 된다는 것인데, 형변환이 발생하거나 B를 선언하지 않는 이상 A의 객체변수에서 오버라이딩이 발생할 이유는 없습니다.

 

행복한 하루되세요 :)

  • 관리자
    2021-04-19 13:51:25

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

     

    부모자식이라는 것이 형변환을 말씀하시는 건가요?

     

    문의하신 class A 정의문에서 A obj = new A(10)을 하게 되면, frista=10이 출력되겠네요.

     

    오버라이딩이 된다는 것은 B의 내용으로 덮어쓰기 된다는 것인데, 형변환이 발생하거나 B를 선언하지 않는 이상 A의 객체변수에서 오버라이딩이 발생할 이유는 없습니다.

     

    행복한 하루되세요 :)

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