java/자바_정리

상속관계에서의 객체 (super()사용)

숭늉다섯 2023. 11. 29. 17:16

상속관계일때 객체 생성시 초기화는 부모클래스에서해야 함,(자식클래스가 하는 것은 바람직 하지 않음..)

 

그래서 부모클래스에 매개변수를 받는 생성자를 만들어 줘야 함 

부모 클래스 ↔ 일반사원클래스 ↔ 메인클래스

              super() : 부모 클래스의 생성자를 호출

public class Employee  {
    private String name;
    private int age;
    private String phone;
    private String empData;
    private String dept;
    private boolean marriage;

    public Employee(){
        super();
    }
    // 변수에 저장
    public Employee(String name, int age, String phone, String empDate, String dept, boolean marriage){        this.name=name;
        this.age=age;
        this.phone=phone;
        this.empData =empDate;
        this.dept=dept;
        this.marriage=marriage;
    }

    @Override
    public String toString() {
        return "Employee{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", phone='" + phone + '\'' +
                ", empData='" + empData + '\'' +
                ", dept='" + dept + '\'' +
                ", marriage=" + marriage +
                '}';
    }
}
public class RempVO extends Employee {
    public RempVO(){
        super();
    }
   public RempVO(String name, int age, String phone, String empDate, String dept, boolean marriage){
       //상속클래스로 변수 넘기기
       super(name, age, phone, empDate, dept, marriage);
    }
}
public class EmployeeTest {
    public static void main(String[] args) {
        RempVO vo = new RempVO("홍길동",24,"010-1111-1111","2023.01.01","기획부",true);
        System.out.println(vo.toString());
    }
}