본문 바로가기
java/자바_정리

오버로딩(Overloading), 오버라이딩(Overrding)

by 숭늉다섯 2023. 11. 22.
오버로딩
하나의 틀래스 내에서 동일한 이름의 메서드를 여러개 사용할 수 있는 것
  • 메서드의 매개변수의 개수, 타입이 달라야 한다
public class Calculator {
    // 정수 두 개를 더하는 메서드
    public int add(int a, int b) {
        return a + b;
    }

    // 실수 두 개를 더하는 메서드 (오버로딩)
    public double add(double a, double b) {
        return a + b;
    }

    // 문자열 두 개를 결합하는 메서드 (오버로딩)
    public String add(String a, String b) {
        return a + b;
    }
}

 

 

오버라이딩
상속관계에 있는 클래스에서 상위 클래스의 메서드를 하위 클래스에서 재정의하는것

 

   public void makeSound() {
        System.out.println("동물 소리");
    }
}

class Dog extends Animal {
    @Override
    public void makeSound() {
        System.out.println("멍멍");
    }
}

class Cat extends Animal {
    @Override
    public void makeSound() {
        System.out.println("야옹");
    }
}



오버로딩과 오버라이딩은 자바에서 다형성을 구현하는 중요한 도구로, 코드의 가독성을 높이고 유지보수를 용이하게 만듦

 

 public static void main(String[] args) {
        float v = add(53.6F, 12.5F);
        int v1 = add(5,8);
        System.out.println("v = "+v);
        System.out.println("v1= "+v1);
    }
    public static int add(int a,int b){
        int sum=a+b;
        return sum;
    }

    public static float add(float a, float b){
        float sum=a+b;
        return sum;
    }

'java > 자바_정리' 카테고리의 다른 글

생성자메서드 / this  (0) 2023.11.22
배열 문자열 -> 문자열  (0) 2023.11.22
Method  (0) 2023.11.21
break, continue  (0) 2023.11.20
while  (0) 2023.11.20