MySet 역할은 집합 계약만 노출하고 bucket 구현을 숨긴다

사용자는 add·remove·contains·size의 의미에 의존하고 capacity와 체이닝은 구현 내부에 남깁니다.

MySet<E>집합 역할

add(E)

변화 여부

contains

값 동등성

remove

성공 여부

HashMySet

bucket·rehash

클라이언트

구현 세부 모름

핵심: 다른 구현으로 바꿔도 중복·null·반복 순서 정책은 공개 계약과 일치해야 합니다.