예를 들어
강아지의 특성은 짓기, 숨쉬다 라는 특성의 클래스를 만들었다.
고양이의 특성은 울기, 숨쉬다 라는 특성의 클래스를 만들었다.
클래스를 만들 때 공통적인 특성이 있지만 다른 특성 때문에 클래스를 만드는 경우가 있다.
공통적인 특성에 대해서 수정이 들어가야 할때
일일이 클래스에 들어가서 수정해주어야 한다.
이렇게 수정하는 것은 너무 번거로운 방식이다.
이렇게 중복되는 부분은 가장 기피해야하는 부분이다.
중복으로 문제가 생기기 대문이다.
그래서 공통적인 특성을 묶는 상위 카테고리를 만들고
상위의 기능을 하위 카테고리로 물려주는 extend를 사용한다.
공통적인 기능을 물려주는 클래스를
기능을 받는 클래스를
class 자식클래스명 extends 부모클래스명
public class Inheritance{
public static void maint(String[] args){
Dog d1 = new Dog();
// Dog라는 클래스에서 객체를 만들어서 리모컨을 d1에 담는다.
d1.bark();
d1.breathe();
// d1 변수에 있는 객체 리모컨을 조정하여 객체의 매서드를 불러온다.
Cat c1 = new Cat();
// Cat라는 클래스에서 객체를 만들어서 리모컨을 c1에 담는다.
c1.bark();
c1.breathe();
// c1 변수에 있는 객체 리모컨을 조정하여 객체의 매서드를 불러온다.
}
}
class Animal{
// 동물이 가지고 있는 공통적인 특징을 가지고 있음
// 공통 분모는 여기에서 수정
public void breathe(){
System.out.println("숨쉬다.")
}
}
class Dog extends Animal{
// 동물에 있는 공통적인 특징을 물려받음
public void bark(){
System.out.println("숨쉬다.")
}
}
class Cat extends Animal{
public void meow(){
System.out.println("숨쉬다.")
}
}
