ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 오버라이딩과 오버로딩
    안드로이드 학습/자바 2024. 1. 4. 11:19

    오버라이딩(Overriding)

    • 부모 클래스의 메서드를 하위 클래스가 재정의 하는 것이다.
    • 메서드의 이름은 물론 파라메터의 갯수나 타입도 동일해야 하며, 주로 부모 클래스의 동작을 상속받은 자식 클래스에서 변경하기 위해 사용된다.
    class Animal {
        public void makeSound() {
            System.out.println("동물이 소리를 낸다");
        }
    }
    
    class Dog extends Animal {
        // 부모 클래스의 makeSound 메서드를 오버라이딩
        @Override
        public void makeSound() {
            System.out.println("멍멍");
        }
    }
    
    class Cat extends Animal {
        // 부모 클래스의 makeSound 메서드를 오버라이딩
        @Override
        public void makeSound() {
            System.out.println("야옹");
        }
    }

     

    오버로딩(Overloading) 

    • 메서드의 이름은 같고 매개변수(parameter)의 갯수나 타입이 다른 함수를 정의하는 것을 의미한다. 
    class OverloadingExample {
        public int add(int a, int b) {
            return a + b;
        }
    
       (메서드 이름은 동일, 매개변수 타입이 다름)
        public int add(double a, double b) {
            return a + b;
        }
    
        // 문자열 두 개를 연결하는 메서드 (메서드 이름은 동일, 매개변수의 숫자가 다름)
        public String add(int a, int b, int c) {
            return a + b;
        }
    }

     

    구분  오버로딩  오버라이딩 
     메서드 이름 동일  동일 
     매개변수, 타입 다름  동일 
     리턴 타입 상관없음  동일 

     

    '안드로이드 학습 > 자바' 카테고리의 다른 글

    자바 접근 제어자  (0) 2024.01.04
Designed by Tistory.