super 부모생성자

이상해씨·2023년 5월 4일
0

JAVA

목록 보기
29/40

super 와 부모생성자

부모 생성자

  • class가 인스턴스화 될 때, 생성자가 실행되면서 객체의 초기화를 함. 이때 부모 객체를 먼저 초기화.

  • 따라서, 생성자만 실행되지 않고, 부모 생성자 실행후 생성자 실행

        public class Car{
           public Car(){
               System.out.println("Car의 기본생성자입니다.");
           }
       }
    
       public class Taxi extends Car{
           public Taxi(){
               System.out.println("Taxi의 기본생성자입니다.");
           }
    
       }
       
       // 생성자 테스트
        public class TaxiExam{
           public static void main(String args[]){
               Taxi b = new Taxi();
           }
       }
       
       //결과 
       //Car의 기본 생성자입니다.
       //Taxi의 기본 생성자 입니다. 
  • new 연산자로 객체를 생성할 경우, 객체가 메모리에 올라갈 째 부모 객체도 함께 메모리에 올라감

  • 생성자는 객체를 초기화하는 역할

  • 생성자 호출 시, 부모 생성자 호출로 인해 부모객체 초기화

super

  • 부모 객체를 가리키는 키워드 super
  • super() : 부모 생성자
  • class의 생성자가 자동으로 호출
  • 부모의 메소드나 필드 사용시, super 사용
  • 자식 클래스에서 부모의 생성자를 직접 호출
	public class Car{
        public Car(String name){
            System.out.println(name + " 을 받아들이는 생성자입니다.");
        }
    }
	public Taxi(){
        super("소방차"); // 문자열을 매개변수로 받는 부모 생성자를 호출하였다.
        System.out.println("Taxi의 기본생성자입니다.");
    }

참고

profile
공부에는 끝이 없다

0개의 댓글