[CHAPTER 2] OOP 개념의 재검토 (with SOLID) + 과제
지난 스터디에서 과제에 대한 내용을 포스팅하지 않았기 때문에 어떤 것을 해야하는 지에 대한 내용이 명확하지 않았던 것 같습니다. (경험이 짧은 그룹장이라 죄송합니다. ㅜㅡㅜ)
그렇기 때문에 해야할 요구사항에 대한 정리내용을 작성하고자 합니다.
1. 기존 구현된 Task 클래스에 goMBM() 이라는 메소드를 추가.
앞서, 스터디에서 다뤘던 내용 중 Task 에 요구사항을 추가하고 싶은 경우가 생겼습니다.
Task 클래스 내부에 goMBM 이란 항목을 추가하고 싶으며, 해당 항목은 Marketing 만 가고 싶습니다. 물론 추 후에는 Development 도 MBM 에 가야할 수도 있습니다.
일단은 아래와 같이 임시로 코드를 만들었지만, 우리 MIDAS 의 개발자들은 똑똑하니 알아서 잘 리팩토링 해줄 수 있을 것이라 생각합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | /** * 업무 처리 * * Created by Doohyun on 2017. 4. 17.. */ public abstract class Task { /** * 일을 한다는 약속 * * <pre> * 이 메소드를 실행시키면 일을 하는 것. * </pre> */ public abstract void runTask(); /** * MBM 을 수행하는 메소드 * * <pre> * 구체적인 것이 추상적인 상태로 올라옴. * </pre> */ public void goMBM() { if (this instanceof Marketing) { // 마켓팅 main. } else if (this instanceof Devlopment) { // 일단 여지는 있어보임. } } /** * 면접관을 담당하는 메소드 * * <pre> * 면접관을 수행하는 메소드도 추가되길 바람. * 물론 이 업무 역시, 특정 직군 (마켓팅,개발) 만 할 수도 있음. * </pre> * */ public void goInterview() { } } | cs |
2. 가위바위보의 승패를 출력하는 메소드 제작
스터디 내부에서 했을 때는 요구사항을 의도했던 것과 달리, 문제 제시를 제대로 못했던 것 같습니다. input & output 과는 별도로 아래의 요구사항을 만족하면 됩니다.
가위바위보의 두 상태에 따른 승&패 여부를 확인할 수 있는 코드를 작성하고 싶습니다. 그렇기 때문에 첫 코드를 아래와 같이 작성하고자 하였습니다.
[아마 첫 요구사항은 입력에 대한 이기는 결과를 출력해달라고 했을 것 같은데, 의도 했던 것은 사실 아래와 같았습니다. (미안, 기획을 잘해야돼 ㅜㅡㅜ)]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | /** * 심플한 가위,바위,보 결과 * * @param me * @param enemy * @return */ public static String 가위바위보_결과 (final String me, final String enemy) { if (me.equals("가위")) { switch (enemy) { case "가위": return "무승부"; case "바위": return "패"; case "보": return "승"; } } else if (me.equals("바위")) { switch (enemy) { case "가위": return "승"; case "바위": return "무승부"; case "보": return "패"; } } else if (me.equals("보")) { switch (enemy) { case "가위": return "패"; case "바위": return "승"; case "보": return "무승부"; } } throw new RuntimeException("입력 오류"); } | cs |
다음부터 과제를 준비한다면, 이번 포스팅처럼 구체적으로 작성해보는 것으로 하겠습니다. 기획서 없이 개발하라고 시킨 것 같아 미안하군요. ㅜㅡㅜ
그럼 오늘도 좋은 일만 가득하길 바래요. :-)
'스터디 > [STUDY] OOP' 카테고리의 다른 글
[CHAPTER 2] OOP 개념의 재검토 (with SOLID) + 과제 리뷰 (0) | 2017.04.27 |
---|---|
[CHAPTER 3] 실무 활용 패턴 (상) (0) | 2017.04.25 |
[CHAPTER 2] OOP 개념의 재검토 (with SOLID) + 추가내용 (0) | 2017.04.18 |
[CHAPTER 2] OOP 개념의 재검토 (with SOLID) (0) | 2017.04.16 |
[CHAPTER 1] 오리엔테이션 - 추가내용 (0) | 2017.04.11 |