inblog logo
|
devleekangho
    용어정리

    동적바인딩과 추상화

    KangHo Lee's avatar
    KangHo Lee
    Nov 13, 2024
    동적바인딩과 추상화
    Contents
    1. 동적 바인딩(Dynamic Binding)2. 추상화(Abstraction)

    1. 동적 바인딩(Dynamic Binding)

    • 프로그램 실행 시 어떤 메서드를 호출할지 결정하는 것을 의미합니다.
    • 컴파일 시점이 아니라 런타임 시점에 메서드 호출이 바인딩 됩니다.
      • → 다형성 구현
     

    소스 코드 예시

    class Animal { void sound() { System.out.println("Animal makes a sound"); } } class Dog extends Animal { void sound() { System.out.println("Dog barks"); } } public class Main { public static void main(String[] args) { Animal myAnimal = new Dog(); myAnimal.sound(); // Dog barks 출력 } }
    • 부모 메서드를 오버라이드(override)할 경우 부모 메서드의 내용은 무효화되고 자식 메서드의 내용이 실행됩니다.

    2. 추상화(Abstraction)

    • 복잡한 시스템을 간단하게 표현하는 방법입니다.
    • 구체적인 세부 사항을 감추고, 중요한 특성이나 기능만을 드러냅니다.

    소스 코드 예시

    interface Animal { void sound(); } class Dog implements Animal { public void sound() { System.out.println("Dog barks"); } }
    • Animal 인터페이스에 정의된 sound() 메서드는 구체적인 내용이 없습니다.
    • Animal을 구현한 Dog 클래스에서 구체적인 내용을 작성합니다.
    💡
    Dog 클래스에서 sound()의 접근 제한자가 public인 이유
    • 인터페이스에 정의된 메서드는 기본적으로 public
    • 이를 구현할 경우 반드시 동일한 접근 제한자로 작성
     
    Share article
    Contents
    1. 동적 바인딩(Dynamic Binding)2. 추상화(Abstraction)

    devleekangho

    RSS·Powered by Inblog