ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Java 오버로딩과 오버라이딩
    Java 2022. 1. 5. 11:03

    오버로딩

    같은 이름의 메서드 이면서 매개변수의 유형과 개수를 다르도록 하는 기술


    오버라이딩

    메소드의 이름, 매개변수, 리턴 값이 모두 같아야 한다.
    상위 클래스가 가지고 있는 메서드를 하위 클래스가 재 정의해서 사용


    오버로딩 사용법

    //오버로딩 예제
    void tiger(){
     System.out.println("어흥");
    }
    
    void tiger(int age){
        System.out.println("어흥" + "나이는" + age);
    }
    
    void tiger(int age, int weight){
        System.out.println("어흥" + "나이는" + age + "무게는" + weight);
    }

    오버로딩은 메서드 오버로딩과 생성자 오버로딩이 있다. 둘다 개념은 같다.


    오버라이딩 사용법

    //오버라이딩 예제
    public abstract class Animal{
        void cry(){
        }
    }
    
    public class Tiger extends Animal{
        void cry(){
            system.out.println("어흥!");
        }
    }
    
    public class Dog extends Animal{
        void cry(){
            system.out.println("왈왈!!");
        }
    }

    선언부는 부모의 것과 완벽히 돌일하고 내용만을 새로 정의하는 것이다.
    @Override 어노테이션을 이용해서 오버라이드를 검증할 수 있다.
    만약 오버라이딩이 되지 않았다면 컴파일러 오류를 출력한다.


    오버로딩과 오버라이딩의 차이점

    오버로딩은 같은 클래스에서 사용되고
    오버라이딩은 상속관계에서 사용된다.

    오버로딩은 메서드 이름이 같고, 매개변수가 달라야하며, 리턴형은 달라도 되고 그대로여도 된다.
    오버 라이딩은 메서드 이름, 매개변수, 리턴형 모두 동일해야 한다.

    'Java' 카테고리의 다른 글

    length, length(), size() 차이  (0) 2023.01.30
    List.of()  (0) 2023.01.30
    stream()  (0) 2023.01.30
    람다(lambda)  (2) 2023.01.30
    Java 가변인자  (0) 2022.01.05
Designed by Tistory.