6. What is the function over-riding and over-loading in Java ?

toutbon·2024년 2월 23일
0

질문의 목적

over-riding 과 over-loading 의 차이점을 알고 있는가 ?

용어정리

  • Super Class - Parent Class
  • SubClass - Child Class
  • Concrete method - 구현 클래스, 구상클래스
    - new 키워드로 객체를 생성할 수 있는 클래스를 말함
    - body가 구현되어 있는 클래스
  • Abstract method - 추상 클래스

Method Overrding

  • method overring을 하는 이유는 Child Class에서 필요에 의해 메서드구현을 다양하게 할수있게 하기 위함
  • 상속 관계에서 parent class로 부터 상속받은 메서드를 child class(subclass)에서 재 정의하는 것을 의미함
  • 부모로부터 상속받은 클래스는 Concrete method 일수도 있고 Abstract method 일 수도 있다.
  • child 클래스에서 용도에 맞게 구체적인 구현을 한다. -> 메서드 바디를 구현하는 개념
  • 파라메터는 반드시 같아야한다
  • 리턴타입 또한 반드시 같아야한다 (J2SE1.5 이상부터는 리턴타입이 객체인경우 객체가 될 수도 있고, child class 가 될 수도 있다)

Method Overloading

  • Method Overloading을 하는 이유는 readability 향상(잘 읽히게 하도록)을 위함
  • 동일한 이름을 가진 메서드들이 같은 클래스 내에 존재
  • 메서드 파라메터 리스트를 통해서 개별적인 메서드를 호출할 수 있음
  • 메서드 이름은 같지만 서로다른 메서드들이 다수 존재
  • 메서드 파라메타 리스트는 반드시 달라야 함
  • 리턴 타입은 같을 수 도있고, 다를 수 도 있다
System.out.println(int i);
System.out.println(String s);

KeyWord


profile
뚜봉

0개의 댓글