본문 바로가기
JAVA-Spring/상속성

JAVA 자바 [ 객체 지향 프로그래밍 ] 생성자, Super

by Super Santj 2019. 7. 22.

super()

=> 인수가 없는 부모클래스의 생성자를 호출, 기본생성사가 없으면 만들어준다. (이미 다른 생성자가 존재하면 안만들어준다. -> 예외)

=> 인수가 있는 부모 클래스의 생성자를 호출, 호출할때 부모 클래스에 인수 갯수에 해당되는 생성자가 없으면 에러 유발 => 직접 개발자가 작성해야한다.

super(1),super("홍길동"),super(1,"홍길동"),,,,,,,

super => 부모 클래스의 객체를 가리키는 예약어 this와 비슷한 역할로 상속관계에서 부모, 자식클래스의 멤버변수와 메소드가 같을경우 변수앞에 super. 을 붙이면 부모 변수로 인식을 하게된다.

멤버 변수 ==>super.멤버변수=> 부모의 것으로 인식
                   (this.)멤버변수 => 자식의 것으로 인식    this는 생략가능.

메소드 ==> super.부모메소드명() ---> 부모 메소드 호출
                this.메소드명() -----------> 자식메소드호출

상속 활용은 자식클래스의 입장에서 부모의 생성자, 오버라이딩 기법을 이용하여 중복된 소스부분을 절약할 수 있도록 소스 코드를 활용 할수있는것이다.

핵심 키워드는 오버라이딩, super(), super 이다.

댓글