Post

Java 6, 다향성

Java의 특징, 네번째.

특징: 다형성 (Polymorphism)

다형성

다형성은 객체지향 프로그래밍의 중요한 특징 중 하나로, 동일한 코드에서 여러 형태의 객체를 다룰 수 있는 능력을 말합니다. 이는 상속과 관련이 깊으며, 부모 클래스의 참조 변수로 자식 클래스의 객체를 다룰 수 있는 것을 의미합니다.

다형성의 구현

Java에서 다형성은 주로 상속과 메소드 오버라이딩을 통해 구현됩니다. 아래의 예시를 통해 살펴봅시다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class Animal {
    public void sound() {
        System.out.println("동물이 소리를 냅니다.");
    }
}

class Dog extends Animal {
    public void sound() {
        System.out.println("강아지가 멍멍 짖습니다.");
    }
}

class Cat extends Animal {
    public void sound() {
        System.out.println("고양이가 야옹야옹 웁니다.");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal animal1 = new Dog();
        Animal animal2 = new Cat();

        animal1.sound(); // "강아지가 멍멍 짖습니다."
        animal2.sound(); // "고양이가 야옹야옹 웁니다."
    }
}

위의 예시에서 Animal 클래스를 상속받은 Dog와 Cat 클래스가 있습니다. Animal 타입의 참조 변수로 Dog와 Cat 객체를 생성하고, sound() 메소드를 호출하면 각각의 클래스에 오버라이딩된 메소드가 호출됩니다. 이것이 다형성의 예시입니다.

다형성의 장점 유연한 코드 작성: 동일한 코드를 통해 다양한 객체를 처리할 수 있어 코드의 재사용성과 유연성을 높일 수 있습니다. 코드의 가독성 향상: 다형성을 이용하면 하나의 메소드나 클래스가 다양한 객체를 다룰 수 있기 때문에 코드가 간결해 지고 가독성이 향상됩니다. 다형성은 Java의 핵심 개념 중 하나이며, 객체지향 프로그래밍의 강력한 기능 중 하나입니다.

This post is licensed under CC BY 4.0 by the author.