미완성(많은 private함수를 새로 정의하였으니 참고바람)