디자인패턴은 아니지만 이 시리즈가 가장 적합한 거 같아서 여기에 넣었습니다!
Inheritance, 기존 클래스의 속성을 물려 받는 것
Delegation, 책임을 다른 객체에 전달하는 것
실제 Java의 Stack이 잘못구현되어 있음
✔️ Vector를 상속받는 구조인데 Vector의 isEmpty() 메소드만 사용하는데 잘못된 사용으로 erase 등 다른 함수를 사용할 수 있는 위험이있음
✔️ 만약 위임으로 구현했다면 필요에 따라 다른 자료구조로 만들 수 있을텐데,,
✔️ Stack is-NOT-a Vector
객체 간 관계를 association 으로 함
ref. https://www.geeksforgeeks.org/association-composition-aggregation-java/