책 내용 질문하기
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의 객체변수에서 오버라이딩이 발생할 이유는 없습니다.
행복한 하루되세요 :)