백엔드 개발을 하다 보면 한 번쯤 헥사고날 아키텍처(Hexagonal Architecture)라는 용어를 들어봤을 것이다.원문: https://alistair.cockburn.us/hexagonal-architecture처음 접했을 때는 낯선 개념들이 많다.Input Port와 Output Port는 무엇이 다를까?Adapter는 왜 Input과 Output으로 구분할까?UseCase와 Application Service는 같은 것일까?기존 Spring의 Controller → Service → Repository 구조와 무엇이 다를까?처음에는 복잡해 보이지만, 헥사고날 아키텍처가 해결하려는 문제를 이해하면 생각보다 단순하다.이번 글에서는 Kotlin과 Spring Boot를 사용하는 백엔드 개발자의 관..