본문 바로가기

분류 전체보기108

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.
Unit Test Code ( 단위 테스트 코드) 테스트 코드를 사용을 하는 이유는 저의 생각에는.... 코드의 메서드를 작성하면서 클래스 간의 종속성을 고려하는 시간은 매우 중요합니다. 테스트 코드를 작성하면서 각 클래스의 종속성과 독립성을 고려하는 것은 큰 의미가 있다고 생각합니다. 또한, 메서드에 두 가지 이상의 책임을 할당할 때는 테스트 코드 작성이 어려워 메서드를 분리하는 방향을 잡기가 편했습니다. 테스트 코드를 작성한 메서드와 그렇지 않은 메서드를 비교했을 때 차이를 느끼는 일이 자주 있습니다. 테스트 코드를 작성하지 않은 코드는 불확실성이 생겨 다음 작업을 진행하기가 어려웠습니다. 그러나 테스트 코드를 작성한 메서드는 안심하고 다음 작업을 진행할 수 있게 해줍니다. 테스트 코드를 믿음만으로만 신뢰하는 것보다는 예외 상황에 대비하여 안전장치를.. 2023. 11. 3.
데이터베이스 개론(3판) - 7장 데이터베이스 언어 SQL - 연습문제 2023. 10. 23.