
생성자의 생김새
생성자
클래스가 생성될때 생성자가 실행되도록 약속. 어느 메서드보다 먼저 실행되게 함.
-> 클래스와 메서드명을 같이 하면 클래스가 실행되면 생성자가 다른 메서드 보다 먼저 실행되서 초기화 작업을 해줌.
초기화 하는 이유?
값을 입력하지 않으면 오류가 나기 때문에 사용자의 입장에선 불편하고, 잘못된 사용으로 오류가 날 수 있다.
이를 방지하기 위한 작업.



편하고 이쁘게 만드는 법.



super(); 라는 코드를 지워도 값이 들어가고 적어도 들어간다.
왜냐 ? 안적어도 적어놓은것으로 인식하기 때문.

더블치즈햄버거에 햄버거를 상속시켰다.

부모 클래스의 생성자를 만들면

자식 클래스는 오류가 난다. 자식 클래스에는 생성자가 없기 때문

생성자 생성시 오류 해결됨.

더블치즈 햄버거에 super();를 입력했다.
안적어도 되지만 적는 이유는 얘가 가르키는 방향을 알아야 하기 때문이다.

super는 부모의 생성자를 호출하는 기능을 수행한다.( 클래스명이 달라졌지만 같은 내용이다 )
super가 에러가 난 이유는 , 부모의 생성자는 String이라는 타입이 있지만, 본인의 생성자에는 타입이 없어서 났다.
즉 타입이 다른 상태라 에러가 난것.


타입만 지정해도 되고 안에 어떠한 내용을 적어도 오류가 사라진다.
어짜피 부모에 적힌 내용은 무효화 되고 자식클래스의 값이 출력될것이기 때문
해당 코드를 실행 시키면 1이라는 출력값이 나올것이다.
'캠퍼스 > Java' 카테고리의 다른 글
| 47. 인터페이스 (0) | 2022.08.07 |
|---|---|
| 46. 추상 클래스 (0) | 2022.08.07 |
| 44.라이브러리 (2) (0) | 2022.08.07 |
| 43.라이브러리 (1) (0) | 2022.08.06 |
| 42. 컨버팅 (0) | 2022.08.06 |