-
상속 - 부모 생성자 호출(super)자바 Java/문법 - 객체 지향 2022. 1. 14. 23:53
상속받는 자식객체 생성할 때는 부모 객체부터 생성 후 자식객체 생성
super(매개값, ... ) -> 매개값과 동일한 타입, 개수, 순서 맞는 부모생성자 호출.
부모 생성자가 없으면 오류가 발생하며 반드시 자식 생성자의 첫줄에 위치해야 한다
부모 클래스에 생성자가 없다면 필수로 작성해줘야 함
<People.java>
부모생성자 작성
public class People { public String name; public String ssn; public People(String name, String ssn) { this.name = name; this.ssn = ssn; } }
<PeopleStudent.java>
자식생성자에 super로 부모생성자 호출
public class PeopleStudent extends People { private int StudentId; private String major; public PeopleStudent(String name, String ssn, int StudentId, String major) { super(name, ssn); // 자식객체 생성 시엔 부모객체 생성 후에 this.StudentId = StudentId; this.major = major; } public int getStudentId() { return StudentId; } public void setStudentId(int studentId) { StudentId = studentId; } public String getMajor() { return major; } public void setMajor(String major) { this.major = major; } }
<PeopleMain.java>
public class PeopleMain { public static void main(String[] args) { PeopleStudent s1 = new PeopleStudent("최수빈", "001205", 201901, "경영학과"); System.out.println("이름: " + s1.name); System.out.println("주민번호: " + s1.ssn); System.out.println("학번: " + s1.getStudentId()); System.out.println("전공: " + s1.getMajor()); } }
이름: 최수빈
주민번호: 001205
학번: 201901
전공: 경영학과'자바 Java > 문법 - 객체 지향' 카테고리의 다른 글
메소드 재정의 - @Override, super (0) 2022.01.15 상속 - 기본 (0) 2022.01.07 싱글톤(Singleton Pattern) - 객체를 하나만 생성 (0) 2022.01.05 메소드 오버로딩 (0) 2022.01.04