비교항목오버라이딩오버로딩메소드 시그니처(메서드이름, 매개변수[개수, 타입, 순서])같아야 한다.달라야 한다.리턴타입같다같다용도riding(올라탄다)을 이용해서 부모 클래스에 추가로 더하다, 또는 올라타서 동작방법을 추가할 때 사용한다.loading은 매개변수의갯수나 타입을 다르게 하고 싶을 때 사용한다. 질문사항 정리1. 오버라이딩: 만약 return 타입이 다르다면? 컴파일 오류가 발생합니다.그러나 자바 5 이전 버전에서는 오버라이딩된 메서드의 반환 타입을하위 클래스의 타입으로 변환하는 것이 허용되었습니다.하지만 자바 5 이후 버전부터는 반환 타입 또한 엄격하게 일치해야 하므로 변경되었습니다. 2. 오버로딩: 만약 return 타입이 다르다면? 만약 return 타입이 메서드 시그니처에 포함된다면 j..
오버라이딩은 한국어로는 "재정의"라는 뜻이다.상속은 자식클래스가 부모클래스의 것을 그대로 가지고 온다.이때, 부모의 것을 가져오는데 추가적으로 더 필요한 일들을 정의할 수 있는데 이를 오버라이딩(overrding)이라고 한다. 오버라이딩은 "재정의"라는 말처럼 부모클래스의 것을 쓰지 않고 자식이 부모의 것을 재정의하여 사용하는 것입니다.클래스에서의 오버라이딩클래스를 상속받을 상태에서 오버라이딩하면, 자식클래스의 메서드를 호출할 때, 자식클래스의 메서드가 호출됩니다.오버라이딩의 조건오버라이딩 하려면 return 타입이 같아야 한다.너무나 당연하게 메서드 이름도 같아야 한다.매개변수 또한 개수와 타입이 맞아야 한다(매개변수의 이름은 달라도 된다.)=> 즉, 메서드 시그니처가 같아야 한다. (메서드이름, 매개..
생성자 예제 1 class Calculator { int left, right; public Calculator(int left, int right){ this.left = left; this.right = right; } public void sum(){ System.out.println(this.left+this.right); } public void avg(){ System.out.println((this.left+this.right)/2); } } 를 보면 클래스 이름과 같은 메서드를 이용하여 초기화할 수 있다. public Calculator(int left, int right){ this.left = left; this.left = right; } 이 class 이름과 같은 메서드를 생성자(c..
오버로딩 오버로딩이란 메서드의 이름이 같지만 매개변수의 (개수, 타입)이 다른 경우를 말합니다. 즉, 같은 메서드 이름을 가지면서 매개변수의 타입 또는 개수가 다른 여러 개의 메서드를 정의할 수 있는 기능을 의미합니다. 이렇게 오버로딩된 메서드들은 컴파일러에 의해 메서드 호출 시 전달되는 인자의 타입 및 개수에 따라 적절한 메서드가 선택되어 실행됩니다. 이때, 로버로딩된 메서드들은 메서드 시그니처가 달라야 합니다. 메서드 시그니처란? 메소드 이름 파라미터 수 파라미터 타입의 순서 다음의 조건을 모두 만족하면 메서드의 signature가 같다고 할 수 있다. Example 아래 두 메서드는 같은 signature라고 할 수 있다. public MyClass { public String myMethod(St..