G 클래스에 있는 a메소드 바디에 super(1) 이 코드를 넣어주면 F 와 G가 가진 기본생성자의 초기값이 1로 설정되는 것 아닌가요? 왜 오류가 발생하는지 모르겠습니다 ㅠㅠ
+0
2017년 8월 28일
G 클래스에 파라미터를 받지 않는 생성자 public G() 를 만들고 바디에 super(1)을 입력하면 G 인스턴스를 생성할 때 public F(int a) 생성자가 호출됩니다. 이렇게 쓰는게 맞나요...?
+0
2017년 8월 28일
코드 설명 : 위 수정한 코드에서 G 클래스 a 메소드 바디에 적은 supuer(1) 코드를 지운 뒤 public G() 생성자를 새롭게 만들고 이 생성자 바디에 super(1)을 다시 적어주면 G인스턴스 생성시에 public F(int a) 생성자가 호출됩니다 :)
+0
2017년 8월 28일
질문을 정리하자면, G 클래스에서 Public G() 생성자를 입력하지 않고 a 메소드 바디에 super(1)을 입력하면 에러가 발생하는데 이유가 무엇인지 이해가 어렵습니다! 자식클래스에서 생성자를 선언하지 않으면 기본생성자를 사용하게 되는데, 이 기본 생성자는 부모클래스 생성자를 호출할 때 기본 생성자만 호출할 수 있는 것 같습니다... ㅠㅠ?...왜그럴까요...
댓글 5개