본문 바로가기

Java

JAVA] 오버 로딩과 오버 라이딩

오버 로딩 :  기존의 메서드와 이름은 같지만 매개변수의 타입과 개수가 다른 메서드를 같은 이름으로 생성하는 것

 

오버 로딩의 장점 :  기능이 같은 메서드의 이름을 하나로 묶어 정의하여 편리함

 

예제)

package com.company;

public class Overloading {
    void Animal(){ // 매개변수가 없는 메서드
        System.out.println("동물입니다.");
    }
    void Animal(String name,String type){ // Sting 타입의 매개변수가 두개인 메서드
        System.out.println("이름은 "+name+" 이고 "+" 종류는  "+type+" 인 동물입니다.");
    }
    void Animal(int age){ // int 타입의 매개변수가 한개인 메서드
        System.out.println("나이가 "+age+"살 인 동물입니다.");
    }

}
class OverLoadingTest{
    public static void main(String[] args) {
        Overloading overloading = new Overloading();

        overloading.Animal(); //매개변수가 없는 메서드 호출
        overloading.Animal("nabi","cat"); // String 타입의 매개변수가 두개인 메서드 호출
        overloading.Animal(12); // int 타입의 매개변수가 한개인 메서드 호출
    }

}

매개변수의 타입과 개수가 다른 여러 개의 메서드를 같은 이름으로 정의

매개변수에 맞는 메서드를 호출

 

결과)


오버 라이딩 : 부모 클래스에서 상속받은 메서드를 자식 클래스 내에서 재정의 하여 사용하는 것

 

오버 라이딩의 장점 :  메서드의 이름, 매개변수, 반환형이 같을 경우에 메서드를 생성하지 않고 같은 이름으로 내용만                                변경하여 사용함을 통해 프로그램의 리소스를 줄여준다.

 

예제)

package com.company;

class AnimalName {
    public String name;
    public String type;

    public void animal(){
        System.out.println("동물의 이름은 "+name+"이고 종류는 "+type+"입니다.");
    }
}

class AnimalAge extends AnimalName{
    public int age;

    public void animal(){ //부모 클래스의 animal 재정의
        System.out.println("동물의 이름은 "+name+"이고 종류는 "+type+ "이고 나이는 "+age+"입니다.");
    }
}
public class Overriding {
    public static void main(String[] args) {
        AnimalAge animalAge = new AnimalAge();

        animalAge.name = "nabi";
        animalAge.type = "cat";
        animalAge.age = 5;

        animalAge.animal();
    }
}

결과)

'Java' 카테고리의 다른 글

Java) 인스턴스 멤버 정적 멤버  (0) 2022.11.26
Java) 문제 풀이  (0) 2022.11.18
java] 클래스 - 메소드  (0) 2022.04.18
Java] 클래스 - 생성자  (0) 2022.04.14
Java] 클래스 - 필드  (0) 2022.04.14


Calendar
«   2025/03   »
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 28 29
30 31
Tags
더보기
Archives
Visits
Today
Yesterday