인프런 커뮤니티 질문&답변
상속과 추상화의 관계
작성
·
322
답변 1
1
큰돌
지식공유자
안녕하세요 햄스터님 ㅎㅎ
부모 클래스를 상속받는 자식 클래스들의 관계를 따져봤을 때 공통점이 있다면 추상화 O, 공통점이 없다면 추상화 X
>> 네 맞습니다.
class Parent{
    void func1() {
        System.out.println("This is the parent class");
    }
}
class Child extends Parent{ 
    void func2() {
        System.out.println("This is the child class");
    }
}
class example{
    public static void main(String args[]) {
        Child ch = new Child();
        ch.func1(); 
        ch.func2(); 
    }
}
이런 코드도 상속인데 사실 이건 추상화로 볼 수 없겠죠?
상속 != 추상화입니다.
다만 상속을 할 때 보통은 부모계층을 추상화해서 많이 코드를 작성합니다.
// 기본 클래스
public class Animal {
    private String name;
    public Animal(String name) {
        this.name = name;
    }
    public void speak() {
        System.out.println(name + " is making a sound.");
    }
}
// Animal 클래스를 상속받는 Dog 하위 클래스
public class Dog extends Animal {
    public Dog(String name) {
        super(name);
    }
    @Override
    public void speak() {
        System.out.println(super.getName() + " says Woof!");
    }
}
// Animal 클래스를 상속받는 Cat 하위 클래스
public class Cat extends Animal {
    public Cat(String name) {
        super(name);
    }
    @Override
    public void speak() {
        System.out.println(super.getName() + " says Meow!");
    }
}
개, 고양이 -> 동물
이런식으로요. ㅎㅎ
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.







감사합니다!!