새벽에 문득 눈을 뜨자마자 ‘왜 굳이 인터페이스를 사용하는 거지?’ 라는 생각이 들었습니다. 코딩하는 꿈 탓입니다.
아무튼, 그래서 찾아봤습니다.
꼭 인터페이스를 작성하지 않더라도 상속을 받을 수 있는 방법은 있습니다. 그냥 일반적인 클래스, 추상 클래스 가 있죠.
이들 대신 인터페이스를 사용하는 이유는 결합도를 낮추기 위함이라고 합니다. 결합도가 높다는 건 의존적이라는 것입니다. 사람도 너무 의존적이면 안 된다고 하는 것처럼 프로그램도 너무 의존적이면 좋지 않습니다. 나중에 유지보수가 힘들기 때문입니다.
물론 추상 클래스는 인터페이스와 비슷할 수 있지만 인터페이스는 명확합니다. 명확하게 아무것도 구현된 것이 없죠. 정말 아무것도요. 그래서 여러 곳에 재활용성이 높고 혼용도 가능하며 유지보수에 관대할 수 있는 것입니다.
이제 일어난 김에 꿈에서 하던 코딩이나 마저 해야겠네요… 읽어주셔서 감사합니다. 혹시 잘못된 부분, 추가할 부분이 있다면 알려주세요-.