본문 바로가기

콩's EDUCATION/콩's JAVA_RUN

오버라이딩 (overriding)

오버라이딩


 

class Person{
 String name;
 int age;
 String title = "사람";
 
 void eat(){
  System.out.println("사람은 밥을 먹는다.");
 }
 
 void sleep(){
  System.out.println("사람은 잠을 잔다.");
 }

class Employee extends Person{
 // Person 에서 상속받은  title
 String title = "회사원"; 
 
 void sleep(){
  System.out.println("사람은 잠을 잔다.");
  System.out.println("회사원은 밤에만 잠을 잔다.");
 }
}
class Student extends Person{}
public class InheritanceTest {
 public static void main(String[] args) {
  Person p = new Person();
  Employee e = new Employee();
  Student s = new Student();
  p.name = "이순신";
  e.name = "강감찬";
  s.name = "장보고";
  
  p.age = 10;
  e.age = 40;
  s.age = 50;
  
  System.out.println(p.name+"은 나이가 "+p.age+"이다.");
  System.out.println(e.name+"은 나이가 "+e.age+"이다.");
  System.out.println(s.name+"은 나이가 "+s.age+"이다."); 
  
  System.out.println(p.title);
  System.out.println(e.title);
  System.out.println(s.title);
  
  p.sleep();
  e.sleep();

 }
}

// sleep의 경우 오버라이딩 되었다.

 

 

 

InheritanceTest.java