오버로딩에 대해서는 앞에서 다룬 적이 있다. 비슷한 단어지만 뜻은 완전히 다른 오버라이딩과 같이 비교를 해보도록 하자. 오버로딩 클래스내에 같은 이름의 메소드를 여러 개 선언하는 것을 오버로딩이라고 한다. 오버로딩의 조건 1. 메소드 이름은 같아야 한다. 2. 매개 변수의 개수나 타입이 달라야 한다. 리턴 타입은 아무런 상관이 없다는 것에 유의하자. public class OverloadingEx { void print() { System.out.println("매개변수가 없는 오버로딩 예제1"); } void print(int a) { System.out.println("매개변수가 int형인 오버로딩 예제2"); } void print(int a, String s) { System.out.println..
상속이 상위 클래스의 기능을 하위 클래스의 기능을 물려주는 행위라고 한다면 오버라이딩은 자식 클래스에서 상위 클래스의 기능에 새로운 기능을 추가하여 재정의하는 것을 말한다. public class Calculator { int left, right; public Calculator(int left,int right) { this.left = left; this.right = right; } // Calculator의 메소드 void add() { int result1 = left+right; System.out.println("합은 "+result1); } } public class SubstractionableCalculator extends Calculator { public Substractiona..