go 특징중 하나가 상속이 없는건데


type Bird struct {
Age int
}

func (b *Bird) flying() {
fmt.Println("flying..")
}

type Dragon struct {
Bird
}

func (d *Dragon) flying() {
fmt.Println("dragon flying..")
}


이렇게 embedding하면 메서드 오버라이딩도 되던데

상속이랑 다를게뭐임??