암묵적인 인터페이스 적용은 아직도 좀 어색합니다. implements 나 extends 같은 키워드를 쓰기 싫었던 걸까요?

장단점이 있는데, 장점으로는 표준/외부 라이브러리 코드 수정 없이, 다른 사람이 만든 구현체를 사용하면서, 그 일부를 내가 만든 interface로 취급할 수 있다는 점이 장점으로 종종 느껴지더라고요. Java의 FunctionalInterface 처럼, 또는 duck typing을 컴파일 언어에 적용한 것 처럼요. 반대로 implements/extends를 반드시 선언하는 방식이면, 내가 만든 interface에 붙이려면 중간에 Adapter를 하나 구현해야 하는 것에 반해서요.

단점으론, interface에 메서드를 추가/삭제/변경할 때에, 다른 정적 타이핑 언어 대비 에러 표시되는 위치가 달라서 좀 불편하죠.

앗 그렇군요! 생각도 못한 장점이 있었네요. 에러 메시지는 다행히 gopls 였나? vscode의 go언어 확장이 잘 잡아줘서 빠트린 것이나 잘못 구현된 건 금방 찾을 수 있었습니다. 좀 더 익숙해지면 저도 언젠가 더 잘 쓰게 될 것 같습니다. ㅎㅎ 댓글로 설명해 주셔서 감사드립니다! 새해 복 많이 받으세요~!