Override 는 부모(슈퍼) 클래스에 존재하는 필드나 메소드를 자식(서브) 클래스에서 재정의하여
사용할 수 있는것을 말합니다.
바로 예제
일단 Animal Class (부모클래스)
| |
| public class Animal { |
| private String food; |
| private String sleep; |
| |
| |
| public Animal(String food, String sleep) { |
| super(); |
| this.food = food; |
| this.sleep = sleep; |
| } |
| public String getFood() { |
| return food; |
| } |
| public void setFood(String food) { |
| this.food = food; |
| } |
| public String getSleep() { |
| return sleep; |
| } |
| public void setSleep(String sleep) { |
| this.sleep = sleep; |
| } |
| |
| @Override |
| public String toString() { |
| return "Animal [food=" + food + ", sleep=" + sleep + "]"; |
| } |
| |
| } |
다음은 자식클래스들 Human, Cat
| |
| public class Cat extends Animal { |
| private String ya; |
| |
| public Cat(String food, String sleep, String ya) { |
| super(food, sleep); |
| this.ya = ya; |
| } |
| } |
| |
| public class Human extends Animal { |
| private String ingan; |
| |
| public Human(String food, String sleep, String ingan) { |
| super(food, sleep); |
| this.ingan = ingan; |
| } |
| } |
마지막으로 출력을 위한 Main
| |
| public class Test { |
| |
| public static void main(String[] args) { |
| |
| Animal a = new Animal("먹다", "자다"); |
| System.out.println(a); |
| Human h =new Human("먹다", "자다", "일하다"); |
| System.out.println(h); |
| Cat c = new Cat("먹다", "자다", "야옹"); |
| System.out.println(c); |
| |
| } |
| } |
출력결과는 toString 사용했기 때문에 다소 지저분해 보일수도 있습니다. ㅠㅠ
| |
| Animal [food=먹다, sleep=자다] |
| Human [ingan=일하다, getIngan()=일하다, getFood()=먹다, getSleep()=자다, toString()=Animal [food=먹다, sleep=자다] |
| Cat [ya=야옹, getYa()=야옹, getFood()=먹다, getSleep()=자다, toString()=Animal [food=먹다, sleep=자다] |
이렇듯 Override는 부모클래스의 객체와 메소드를 자식이 가져와서 쓰는것을 의미 합니다 !
댓글을 사용할 수 없습니다.