Java
- Java의 Stack 사용법 및 단점
- Deque 자료구조와 ArrayDeque
- 향상된 for문에 String 넣기
- 추상클래스와 인터페이스의 사용 차이
+) 상수 인터페이스는 안티패턴인가? 에 대해 더 생각해보기- 다형성과 상속성
Git
알고리즘
Java로 패스트푸드점 Kiosk를 구현하는 과제를 이번주 수요일에 받았다. 과제를 받고 강의에서 배운내용을 활용하여 객체지향적으로 설계한다고 머리를 굴리며 이것저것 클래스를 짜보고, 클래스 다이어그램도 짜보겠다고 해당 내용을 공부하며 삽질을 했다. class Order
, class Menu
, class Product
를 짜는건 손쉬웠는데 문제는 화면 출력부분...
이 부분을 중복되는 코드 없이, 객체지향적으로 잘 짜려면 어떻게해야할지 고민이 많았다. 화면 별로 객체를 만들지, 아님 화면을 구성하는 부분들을 메서드로 짜고 그걸 Kiosk가 제어하게 할것인지 이것저것 로직을 그리며 고민해봤다
하지만 이대로는 구현을 못할것 같아서 우선은 현재 정해진 틀에서 필수요구사항들을 구현해봤다.
다행히 오류없이 잘 동작되지만 남발된 변수선언과 아무렇게 짜여진 메서드, 제어접근자들... 한 클래스에 몰빵되어있는 메서드들을 보며 꼭 리팩토링을 해야겠다고 다짐했다.
코드를 다 짜고 보니 중복되는 부분이랑 분리하거나 연결하면 좋을 클래스들이 보여서 주말동안 리팩토링 작업을 해야겠다 생각했다.
우선 입력관련 클래스, 출력 관련 클래스를 분리하고, 예외처리까지 추가하여 리팩토링 한 후, 선택 요구사항까지 다 구현해봐야겠다.