is-a 하나를 has-a와 can-do 둘로 바꿨다 상속: extends 하나에 둘이 묶여 있다 구현 재사용 다형성is-a · 하나만 원해도 둘 다 딸려온다 둘로 쪼갠다 임베딩 · 위임구현 재사용has-a 인터페이스다형성can-do + 제네릭 (Go 1.18)타입만 다르고 로직은 같을 때 필요한 쪽만 골라 쓴다 Go · 개념 정리Go에는 왜 상속이 없을까임베딩·인터페이스로 객체지향 다시 짜기Go에는 클래스도 상속도 없다. 그런데 객체지향이 아니라고 하기도 어렵다. "Go는 객체지향 언어인가"에 대한 공식 FAQ의 답이 "Yes and no"인 이유를, 상속을 뺀 자리에 무엇을 넣었는지 따라가며 정리했다.2026.08.13