- GO는 객체지향 언어이다
- 하지만 객체 간의 상속을 지원해주지 않는다. 이는 개발의 유연성을 해치지 않도록 하기 위해서이다. 객체 간의 상속은 리스코프 치환 원칙을 위배하기 때문이다.
- 대신, 한 객체가 여러 인터페이스를 포함할 수 있도록 한다.
- 예) 토끼 객체는 색깔, 먹이, 행동에 대한 인터페이스를 포함, 버드나무 객체는 색깔에 대한 인터페이스를 포함하도록 설계할 경우, 단순히 두 객체 모두 색깔 객체를 상속하는 것보다 유지보수가 더 쉬워진다. 각 객체가 가진 인터페이스를 확장해서 그 객체안에서만 고유하게 쓸 수 있는 메서드로 확장도 할 수 있기 때문이다.