질문의 목적
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

