티스토리 뷰

It

생성자 상속 클래스

Torrent green93 2023. 2. 2. 21:54
반응형

생성자

생성자를 이용해 클래스필드들을 초기화하는데 사용한다.

-상속에서의 생성자

상속관계에 있는 부모클래스와 자식클래스가있을때

자식클래스의 인스턴스가생성될때 (객체생성될때) 부모클래스의 생성자가 먼저 호출된후 자식클래스의 생성자가 실행된다.

*부모클래스와 자식클래스간에 생성자 짝을 맞추지 않으면 에러 발생 가능.

-자식클래스의 생성자가 기본생성자인경우 컴파일러는 자동으로 부모클래스의 기본생성자를 호출한다

-자식클래스의 생성자가 인자가있는 생성자인경우 컴파일러는 자동으로 부모클래스의 기본생성자를 호출한다

이때 부모클래스에서 인자가있는생성자가 딱하나있다면 (이때는 자동적으로 부모클래스내에서 기본생성자를 생성하지않으므로)에러발생

자식클래스에서 생성자에서 부모클래스의 인자가있는 생성자를 호출해 주고싶다면 명시적으로 선언해줘야함 -> super()사용!

ex) 부모클래스 : A / 자식클래스 : B 가 있다면.

자식클래스의 생성자에서 super(x); 이런식으로 부모의 인자가있는 생성자 호출 가능. (주의할점은 super()사용은 반드시 생성자의 코드 첫 라인에 와야한다는것)

반응형