Go는 오버라이드 기능을 제공하지 않아서 무조건 unique한 이름으로 지어줘야 한다. 아마 C/C++에서 오버라이드로 인한 혼동 방지를 위한 조치였을거라고 생각하지만, 이미 강타입으로 완전히 제어되고 있는 언어에서 오버라이딩으로 혼동을 하기 전에 타입 시스템이 태클을 걸 것이기 때문에 없는 것은 아무래도 불편하다는 생각이 든다.

one single constructor has own unique name.

개인적으로 C/C++에서 정말 깊게 감명받았던 시스템 중 하나가 연산자 오버로딩/함수 오버라이딩이였다. 강력한 타입이 보장되는 하에서 편의를 도모하기 위해 사용할수 있다는 점이 매우 강력하다고 생각했다.

혼동의 위험성을 말하지만 아무래도 큰 타입의 문제가 없는 이상은 내가 사용할때는 큰 문제가 없었다. 이는 CSharp과 Java같은 거대한 생산성 언어들에게도 넘어간 특징 중 하나다.

0

If you have a fediverse account, you can reply to this note from your own instance. Search https://hackers.pub/ap/notes/01986e36-56cb-7b9d-97d9-1c692a3c2de7 on your instance and reply to it.