[프로그래머스] JAVA 기초 수업 필기 (super와 부모생성자)

lobby_RoGo·2023년 11월 8일

JAVA 필기

목록 보기
34/48

super 와 부모생성자

Q. 상속 관계에서 생성자는 어떻게 호출할까?

클래스가 객체를 만들 때, 객체 초기화를 위해 무조건 생성자를 호출한다고 했음.
생성자를 별도로 선언하지 않아도 JVM이 알아서 디폴트 생성자를 호출함

// 부모클래스

public class Student
{
	String name;
    
// 여기서 부터 -------------------------
    Student()
    {
    	this("로비로고");
    }
    
    Student(String name)
    {
    	this.name = name;
    }
// 여기까지 생성자 ----------------------
}

super

부모클래스의 생성자를 호출하기 위해서 자바에서는 super() , 또는 super(매개변수) 를 넣어서 사용함.

super()

  • (매개변수가 없는) 부모 클래스 생성자를 호출
  • 자식 생성자 첫번째 줄에 작성함

super(매개변수)

  • (매개변수가 있는) 부모 클래스 생성자를 호출
  • 매개변수 타입, 개수가 일치하는 부모 클래스 생성자 호출
// 위에 부모 클래스 와 같이 비교

// 자식 클래스 

public class JavaStudent extends Student
{
	// 자식 생성자
	JavaStudent()
    {
    	super();
    }
    
    // 매개변수가 있는 자식 생성자
    JavaStudent (String name)
    {
    	super(name);
    }
}

내용 정리

  1. super()
  • 명시적으로 부모 클래스 생성자를 호출할 때 사용
  • 자식 생성자 첫번째 줄에 작성 해야 함
  1. super(매개변수)
  • 매개변수가 있는 부모 클래스 생성자를 호출
profile
한번 해보자구!

0개의 댓글