본문 바로가기

개인공부/우테코 회고2

4주차 회고 이번 과제에서는 클래스의 분리를 최대한 고려하였고, 처음으로 abstract 클래스를 도입해 보았습니다. '디데이', '주말', '평일', '특별 할인' 등 할인이라는 공통적인 부분을 기본 클래스로 설정하고, 오버라이딩을 메서드를 구현하는 방식을 시도해 보았습니다. 인터페이스를 선언하여 구현하고 싶었지만, 인터페이스 내에서 static을 구현해야 하는 부분이 마음에 걸려, 책에서만 보아 왔던 추상 클래스를 사용하여 구현하게 되었습니다. Discount라는 기본 클래스를 상속받아 'dDayDiscount', 'weekDayDiscount', 'weekendDayDiscount', 'specialDayDiscount'를 선언하였고, 주문 날짜에 해당하는 혜택의 금액을 'Discount#giveAmount().. 2023. 11. 15.
우테코 3주차 회고. (나중에 변경) 다양한 코드들을 검토하며 2주차 코드 리뷰를 진행하였습니다. 원활한 코드 리뷰를 통해 효율적인 방법을 채택하였고, 별도의 학습을 통해 코드의 유지보수성과 확장성을 강화하는 방향으로 노력하였습니다. "외부 객체 생성" Config 클래스를 생성하여 객체를 초기화하였습니다. 클래스의 분리에 대한 학습 과정에서 '관심사의 분리를 위해 제3의 클래스를 생성'하는 방법을 접하게 되었습니다. 현재는 사용자가 하나의 로또만 구매하는 형태이지만, 연금 복권이나 주택 복권 등 다양한 복권 구매 방식이 업데이트 될 경우, 객체지향의 다형성을 이용할 수 있는 구조를 구현하고 싶었습니다. 프리코스가 끝난후 이를 위해 Lotto를 추상화할 수 있는 인터페이스를 구현하고, Config.lotto(interface Lotto lo.. 2023. 11. 9.