본문 바로가기

無汗不成


오버로딩

(2)
오버라이딩 & 오버로딩 비교하기(핵심정리) 비교항목 오버라이딩 오버로딩 메소드 시그니처 (메서드이름, 매개변수[개수, 타입, 순서]) 같아야 한다. 달라야 한다. 리턴타입 같다 같다 용도 riding(올라탄다)을 이용해서 부모 클래스에 추가로 더하다, 또는 올라타서 동작방법을 추가할 때 사용한다. loading은 매개변수의갯수나 타입을 다르게 하고 싶을 때 사용한다. 질문사항 정리 1. 오버라이딩: 만약 return 타입이 다르다면? 컴파일 오류가 발생합니다. 그러나 자바 5 이전 버전에서는 오버라이딩된 메서드의 반환 타입을 하위 클래스의 타입으로 변환하는 것이 허용되었습니다. 하지만 자바 5 이후 버전부터는 반환 타입 또한 엄격하게 일치해야 하므로 변경되었습니다. 2. 오버로딩: 만약 return 타입이 다르다면? 만약 return 타입이 메서..
[OOP] 오버로딩 & 메서드 시그니처 (overloading & method signature) 오버로딩 오버로딩이란 메서드의 이름이 같지만 매개변수의 (개수, 타입)이 다른 경우를 말합니다. 즉, 같은 메서드 이름을 가지면서 매개변수의 타입 또는 개수가 다른 여러 개의 메서드를 정의할 수 있는 기능을 의미합니다. 이렇게 오버로딩된 메서드들은 컴파일러에 의해 메서드 호출 시 전달되는 인자의 타입 및 개수에 따라 적절한 메서드가 선택되어 실행됩니다. 이때, 로버로딩된 메서드들은 메서드 시그니처가 달라야 합니다. 메서드 시그니처란? 메소드 이름 파라미터 수 파라미터 타입의 순서 다음의 조건을 모두 만족하면 메서드의 signature가 같다고 할 수 있다. Example 아래 두 메서드는 같은 signature라고 할 수 있다. public MyClass { public String myMethod(St..