[Item20] 항상 인터페이스로
Item20의 핵심은 한 줄로 요약된다 자바에서는 다중 상속이 되지 않기 때문에 추상 클래스보다는 인터페이스를 사용해야 한다 다중 상속을 허용하게 되면 다이아몬드 상속 문제를 피할 수 없다 그럼 다이아몬드 상속 문제가 무엇일까? 아하 Super1, Super2를 다중 상속받았을 때 어떤 놈의 메서드가 우선순위를 가져야 하는지 정하지 못하기 때문이로구나 어떤 계층이 위에 있는지, 어떤 놈이 먼저 나오는지 ex) extends Super1, Super2 이면 Super1의 메서드 상속 식으로 풀어도 되긴 하지만 결국 복잡성이 올라가는 문제를 안고 있다, 애초에 될 수 없게 하는게 간단하다 그럼 여러개를 가질 수 있는 방법이 없단 말인가? 다중 상속은 안 되지만 다중 구현은 가능하다 implements Sup..
Java/Effective Java
2022. 2. 26. 12:33