JAVA/코드
2022_10_11 연습 01 Super_
0304호
2022. 10. 11. 17:37
메인클래스
package day06.super_;
public class MainClass {
public static void main(String[] args) {
Mother m = new Mother();
System.out.println(m.info());
Employee e = new Employee("이순식",20,"역사");
System.out.println(e.info());
}
}
Person (부모클래스)
package day06.super_;
public class Person {
String name;
int age;
// Person(){
// this("honggilsoon",1);
//
// }
Person(String name){
this(name,1);
}
Person(String name, int age){
super();
this.name = name.toUpperCase();
this.age = age;
}
String info() {
return "이름 : " + name + ", 나이 : " + age;
}
}
Mother 자식클래스 ( Super()로 Person클래스의 Person(String name, int age) 생성자를 블러옴.
package day06.super_;
public class Mother extends Person{
//생략
Mother(){
super("최성수",20);
}
}
package day06.super_;
public class Employee extends Person {
String department;
Employee(String name, int age, String department){
super(name,age);
// super();
// this.name = name;
// this.age = age;
this.department = department;
}
String info() {
//super.메서드 () = 오버라이딩된 메서드에서 부모님의 원형 메서드가 필요할때 사용
return super.info() + ", 부서 : " + department ;
}
}
package day06.super_;
public class Teacher extends Person {
String subject;
Teacher(String name, int age, String subject){
super(name,age);
this.name = name;
this.age = age;
this.subject = subject;
}
String info() {
return super.info() + ", 과목 : " + subject;
}
}
package day06.super_;
public class Student extends Person {
String studentId;
Student(String name, int age, String studentId){
super(name,age);
// this.name = name;
// this.age = age;
this.studentId = studentId;
}
String info() {
return super.info() + ", 학번 : " + studentId;
}
}