Java & Kotlin
인터페이스의 메서드가 각기 다른 리턴 타입과 파라미터를 필요로 한다면?
1. 문제 인터페이스를 정의하여 구체 클래스의 세부 구현을 숨기는 것은 객체 지향에서 중요한 캡슐화의 한 방법입니다. 그런데 구체 클래스가 인터페이스를 구현하는 시점에는 인터페이스의 모든 메서드(Private, Default, Static 제외)를 반드시 오버라이딩해야 합니다. 그런데 회사에서 코드를 짜다보니 하다보니 아래와 같은 상황을 마주했습니다. public interface Reward { void giveReward(); } public class CashReward implements Reward{ } public class CouponReward implements Reward { } Reward는 '보상'과 관련된 인터페이스이며 보상을 지급하는 giveReward() 메서드가 있습니다. 세..