728x90
반응형
Java에서 다형성은 객체 지향 프로그래밍의 중요한 특성 중 하나로, 같은 이름의 메서드가 서로 다른 클래스에서 다르게 동작하는 기능입니다. 이 글에서는 Java 다형성의 개념과 활용 방법을 살펴보고, 다형성을 효과적으로 활용하는 방법에 대해 알아보겠습니다.
다형성이란? 다형성은 객체 지향 프로그래밍에서 하나의 인터페이스나 메서드가 다양한 구현을 가질 수 있는 성질을 의미합니다. 즉, 같은 이름의 메서드가 서로 다른 클래스에서 다르게 동작할 수 있습니다.
다형성의 종류:
- 메서드 오버라이딩(Method Overriding): 상위 클래스의 메서드를 하위 클래스에서 재정의하여 다른 동작을 수행할 수 있도록 합니다.
- 업캐스팅(Upcasting): 서브 클래스의 객체를 슈퍼 클래스의 참조 변수로 참조할 수 있도록 합니다.
- 동적 바인딩(Dynamic Binding): 실행 시간에 객체의 실제 타입에 따라 메서드가 동적으로 바인딩됩니다.
728x90
메서드 오버라이딩(Method Overriding): 서브 클래스에서 슈퍼 클래스의 메서드를 재정의하여 서브 클래스의 객체에서 다른 동작을 수행할 수 있습니다.
class Animal {
void sound() {
System.out.println("Animal makes a sound");
}
}
class Dog extends Animal {
void sound() {
System.out.println("Dog barks");
}
}
업캐스팅(Upcasting): 서브 클래스의 객체를 슈퍼 클래스의 참조 변수로 참조할 수 있습니다. 이를 통해 다형성을 구현할 수 있습니다.
Animal animal = new Dog();
animal.sound(); // 동적 바인딩에 의해 Dog 클래스의 sound 메서드가 호출됩니다.
동적 바인딩(Dynamic Binding): 실행 시간에 객체의 실제 타입에 따라 메서드가 동적으로 바인딩되어 실행됩니다. 이를 통해 실행 시간에 다형성이 구현됩니다.
Java에서 다형성은 객체 지향 프로그래밍의 중요한 특성 중 하나로, 같은 이름의 메서드가 서로 다른 클래스에서 다르게 동작할 수 있는 기능을 제공합니다.
반응형
728x90
반응형
'JAVA' 카테고리의 다른 글
| Java 추상 클래스(Abstract Class) 이해하기: 개념과 활용 (0) | 2024.03.07 |
|---|---|
| Java 상속(Inheritance) 이해하기: 개념과 활용 (0) | 2024.03.07 |
| Java 예외 처리(Exception Handling) 이해하기: 기본 개념과 방법 (0) | 2024.03.07 |
| Java 열거형(Enum) 이해하기: 개념과 활용 (0) | 2024.03.07 |
| Java 제네릭(Generic) 이해하기: 개념과 활용 (0) | 2024.03.07 |