작성
·
175
0
knight에 기타 생성자를 만들어 주면, 기본 생성자를 사용 할 수 없다고 했는데, 새로운 knight를 만들어 주어 기본 생성자를 이용하니깐 잘 만들어 지더라구요.
제가 잘 못 이해 하는걸까요?
같은 객체일 경우 기본 생성자가 실행이 안된다는 말씀 일까요?
새로운 객체면 상관 없는거구요?
답변 1
0
기본 생성자를 '사용할 수 없다'의 의미는
명시적으로 Knight() { } 이라는 기본 생성자를 만들지 않으면 컴파일 에러가 난다는 의미였습니다.
원래 기본 생성자를 코드에서 만들지 않더라도 컴파일러가 자동으로 만들어주는데,
다른 타입의 생성자를 만들면 기본 생성자 자동 생성이 되지 않습니다 (문법상)
아~ 그렇군요 답변 감사합니다! ㅎㅎ