개발 낙서장

[TIL] 내일배움캠프 9일차 - 개인 과제 - 본문

Java/Sparta

[TIL] 내일배움캠프 9일차 - 개인 과제 -

권승준 2024. 1. 5. 21:05

 

 

오늘의 학습 키워드📚

개인 과제

 

JAVA 개인 과제 - 키오스크 만들기 - 1일차

과제 소개 📢 내가 좋아하는 카페 또는 패스트푸드점의 키오스크를 만들어보자! 지금까지 배워온 Java 언어를 사용하여 키오스크 프로그램을 만들기. 내가 좋아하는 카페나 패스트푸드점의 메

dachomi97.tistory.com

개인 과제를 진행했다.
음식점에 있는 키오스크 화면을 구현하는 과제였다.

아직 완전히 익숙치 않은 자바로 진행하려니 쉽지 않았지만 클래스 설계부터 차근차근 진행했다.
구현 자체를 되게 간단하게 해서 그런가 그렇게 어려운 난이도는 아니었다고 생각하지만 객체지향을 잘 활용했는지는 조금 의문이 든다.
나름 클래스의 단일 책임의 원칙도 지키려고 하고, 상속도 사용하고, 자료구조도 사용하는 등 내 나름의 최선의 노력은 했지만 잘 모르겠다.

가장 고민을 많이 했던 점은 메뉴판을 보는 조작과 장바구니를 주문하는 조작, 취소하는 조작 등 다 달라서 어떻게 상속하고 설계할지에 대해 고민을 많이 했던 것 같다.
결국 클래스를 아예 나누는 방법을 사용했고 그에 맞게 메소드를 구현하니 잘 동작하긴 했다.

과제를 진행하면서 알아낸 점이 하나 있다.

  • 클래스.getClass().getName() 함수는 해당 클래스의 이름이 출력되는 것이 아니라 "class 패키지명.클래스명"이 출력된다.
    따라서 해당 클래스의 이름만 알고 싶으면 클래스.getClass().getSimpleName() 메소드를 사용해야 한다.

두 가지 정도가 되는 것 같다.
메뉴판 조회, 주문하기, 취소하기 조작을 구분하기 위해 클래스를 별도로 만들었고 별 생각 없이 class의 getName() 메소드를 사용했는데 패키지 명까지 다 나오길래 아주 살짝 당황했다. 그래도 별 문제 아니었기에 금방 해결했다.


오늘의 회고💬

과제 설명서를 보기만 했을 땐 그냥 머릿속에 뭔가 다 그려지는 것 같고 되게 쉬울 것 같은데? 했지만 생각보다 신경써야 할 게 많았다.

내가 한 방법이 절대 최적의 방법이라고 생각하진 않는다. 다른 뛰어난 사람들이 어떻게 했는지도 궁금하긴 하다.

Comments