새소식

Java/Java

java - 다형성이란?

  • -

객체지향 패러다임

  1. 캡슐화
  2. 추상화
  3. 다형성
  4. 상속

다형성의 사전적 정의

  • 다형성이란 프로그램 언어 각 요소들(상수, 변수, 식, 객체, 메소드 등)이 다양한 자료형(type)에 속하는 것이 허가되는 성질을 가리킨다.
  • 하나의 타입에 여러 객체를 대입할 수 있는 성질

다형성 구현을 위해

  • 여러 객체들 중 공통 특성을 타입으로 추상화 시키고, 이를 상속 해야한다.

예시

오버라이딩 전

public class Pig {

    public void say() {
        System.out.println("꿀꿀");
    }
}

public class Bird {

    public void say() {
        System.out.println("짹짹");
    }
}

public class Humen {

    public void say() {
        System.out.println("집 가고 싶다.");
    }
}
public class Main {

    public static void main(String[] args) {
        Pig pig = new Pig();
        Bird bird = new Bird();
        Humen humen = new Humen();

        pig.say();
        bird.say();
        humen.say();
    }
}
결과 -
꿀꿀
짹짹
집 가고 싶다

오버라이딩 후

public interface Animal {
    void say();
}
public class Pig implements Animal{

    public void say() {
        System.out.println("꿀꿀");
    }
}

public class Bird implements Animal {

    public void say() {
        System.out.println("짹짹");
    }
}

public class Humen implements Animal {

    public void say() {
        System.out.println("집 가고 싶다.");
    }
}
public class Main {

    public static void main(String[] args) {
        list<Animal> animals = Arrays.asList(new Pig(), new Bird(), new Humen());
        for (Animal animal : animals){
            animal.say();
        }
    }
}
결과 -
꿀꿀
짹짹
집 가고 싶다
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.