티스토리 뷰

Language/Java

Overriding vs Overloading

Seogineer 2020. 12. 8. 16:07

다형성

  • 하나의 타입에 여러 객체를 대입할 수 있는 성질
  • 구현 방법
    • Overriding
      • 상위 클래스의 메서드를 하위 클래스에서 재정의
    • Overloading
      • 여러 타입을 받아들여 같은 기능을 하도록 만드는 작업

 

소스코드

class Cal {
  public int sum(int v1, int v2) {
    return v1 + v2;
  }

  // Overloading
  public int sum(int v1, int v2, int v3) {
    return v1 + v2 + v3;
  }
}

class Cal3 extends Cal {
  public int minus(int v1, int v2){
    return v1 - v2;
  }

  // Overriding
  public int sum(int v1, int v2){
    System.out.println("Cal3!!");
    return v1 + v2;
  }
}

class Main {
  public static void main(String[] args) {
    Cal c = new Cal();
    System.out.println(c.sum(2, 1));
    System.out.println(c.sum(2, 1, 1));

    Cal3 c3 = new Cal3();
    System.out.println(c3.sum(2, 1));
    System.out.println(c3.minus(2, 1));
    System.out.println(c3.sum(2, 1));
  }
}

 

참조

Overriding vs Overloading

'Language > Java' 카테고리의 다른 글

JSP(JavaServer Pages)  (0) 2020.12.17
Servlet 생명주기  (0) 2020.12.09
접근제어자(Access Modifiers)  (0) 2020.12.09
static  (0) 2020.12.08
문자의 비교  (0) 2020.12.06
댓글
Total
Today
Yesterday
링크
Apple 2023 맥북 프로 14 M3, 스페이스 그레이, M3 8코어, 10코어 GPU, 512GB, 8GB, 한글