내일배움캠프(114)
-
[내일배움캠프] 계산기 구현 - level.02(1)
이전에는 단일 클래스에 연산을 수행하는 계산이를 구현했다면, 이번에는 목적에 부합하는 여러 클래스의 객체를 다루는 방식으로 계산기를 구현하는 과정을 남겨본다. 정리해둔 요구사항은 여기에서 확인할 수 있고 구현한 코드는 여기서 확인가능하다. 먼저 다른 방식으로 구현한 '다른 계산기' 를 한 프로젝트 안에 추가하는 것이기에 연산을 위한 입력 외에도 어떤 계산기를 선택해 사용할지 사용자가 선택할 수 있는 입력이 필요하다 생각했다. 다음으로 요구사항에는 기존 'level01' 계산기에서 추가 구현 부분이 일부 활용되는 것을 요구했지만 결국 여러 클래스의 객체를 사용하는 별도의 계산기 구현을 요구하는 것으로 판단 'level02' 계산기의 흐름을 작성할 '별도의 클래스(Main 클래스와 유사한)' 가 필요하다 ..
2024.09.05 -
[내일배움캠프] 계산기 구현 - level.01(2)
아침에 일어나니 어제 미처 파악하지 못한 부분이 떠올랐다. 요구사항을 다시 한 번 확인하니 사용자가 "exit" 를 입력하면 프로그램이 종료되는 것 까지는 맞게 구현을 했는데 문제는 내가 임의적으로 첫 입력 값이 "exit" 일 때 계산기를 종료 할 수 있게 로직을 작성했다는 것이다. 심지어 요구사항에는 어느 시점이든 사용자가 "exit" 를 입력하면 계산기가 종료될 수 있도록 작성할 것을 요구하는 걸로 보인다(직접적인 내용은 없지만 요구사항의 흐름상 해당 내용이 맞다고 판단했다). 수정한 코드는 여기서 확인 가능하다. 1. 수정 전 현재 로직은 사용자의 "exit" 입력을 첫 번째 입력에서만 파악할 수 있다. 그래서 두 번째, 세 번째에서 사용자가 "exit" 를 입력해도 계산기가 종료되는 것이 아니라..
2024.09.05 -
[내일배움캠프] TIL - 24.09.04(수)
오늘은 'CH2(Java)' 에서 처음으로 개인 과제 발제가 있었다. 강의에서 학습한 내용을 활용할 수 있는 주제의 과제가 주어졌는데, 크게 단일 클래스, 여러 클래스의 관계(의존관계)를 통해 2가지 방식으로 과제를 구현해야 하며 기본적으로 필수 기능(필수 요구사항)을 구현해야 하고, 도전 기능(도전 요구사항)의 경우 이전 필수 기능 구현이 끝나면 진행하도록 커리큘럼이 짜여져 있었다. 과제 제출까지는 총 1주일의 기간(오늘 포함)이 주어졌기에 최대한 필수 기능 구현을 끝마치고 튜터님에게 중간제출? 점검? 을 받은 후 도전 기능을 구현할 계획을 세웠다. 계획에 맞춰 오늘은 '단일 클래스' 로 과제를 구현했으며, 구현 코드는 여기서 확인 할 수 있고, 처음 구현을 마치고 진행한 코드 수정에 대한 내용은 여..
2024.09.04 -
[내일배움캠프] 계산기 구현 - level.01(1)
정수 2개와 연산기호(=사칙연산 기호)를 입력받아 연산을 수행하는 계산기를 구현하는 과제의 진행 과정을 남겨본다. 오늘은 '단일 클래스' 계산기에 대해서 구현을 진행하였고 요구사항과 작성한 코드에 대해서는 아래의 링크를 통해 확인 할 수 있다.요구사항구현 코드 - 초안구현 코드 - 수정 1. 아..거슬리네요구사항을 정리하고 구현을 진행하니 딱히 어려울 것은 없었는데, 문제는 초안을 작성하고 나서 거슬리는 부분이 있다는 것이다. (기능에는 영향이 없다고 판단하지만 현재로써는 그저 거슬려서...) 물론 해당 부분은 'IntelliJ' 에서 제공하는 기능으로 심각한 오류는 아니지만 수정할 것을 권하는 경고인 것은 알고있다. 당장 사용하는데 문제는 없겠지만 어쨌든 '이보다 나은 방법이 있고 이를 수정하길 어떠냐..
2024.09.04 -
[내일배움캠프] TIL - 24.09.03(화)
어제 계획한 대로 최대한 빠르게 나머지 Java 강의를 학습했다. 학습은 일단 어제 정한 대로 강의에 이해가 되지 않는 부분이 없다면 다음 강의를 수강하는 방식으로 진행했다. 일단 5주 차까지 완강했으며, 숙제는 4주 차까지 해결해 제출하였다. 왜인지 모르겠으나 5주 차는 아직 업로드가 제대로 안된 건지 숙제에 대한 설명이 부족해 보여 강의를 통한 학습까지만 진행하게 되었다. 강의 학습 간 좀 더 공부해보고 싶은 부분은 우선 'Stream(스트림)' 과 'Thread(쓰레드)', 이 두 가지였는데, 모두 분명 다루어보고 가끔씩 사용해 보긴 했지만 알고리즘 문제나 개인 프로젝트에서 잘 사용하지 않았기에 '능숙하지 않다' 라는 판단이 서 결정하게 되었다. 내일 아침에는 '개인과제 발제' 가 있는 날, 발제..
2024.09.03 -
[내일배움캠프] TIL - 24.09.02(월)
한 주가 시작됬다. 이번 주 부터는 캠프 'CH.2' 가 시작되 'Java' 를 집중적으로 학습하는 기간이 되었고 대부분의 과제는 '개인 과제' 로 진행된다고 한다. 기존에 'Java' 를 학습하였기에 아는 부분에 대해서는 빠르게 강의를 학습한 결과 2주차 강의까지 학습하고 각 주차 과제 또한 제출할 수 있었다. 하루 학습을 진행해보니 이번 챕터는 아무래도 빠르게 강의를 수강하는 것이 좋아 보였는데, 챕터 진행기간은 한정되어 있는데 부족한 부분을 최대한 채우려면 실습 및 과제를 통해 인지하지 못했던 부분에 대해 정리를 하는 것이 가장 효과적이란 판단이 섰고 그 시간을 확보하기 위해서 주어진 강의를 빠르게 해치우기로 정하게 되었다. 왜 그런지 모르겠지만 매번 챕터 첫 날은 여기저기 끌려다니고 새로운 소..
2024.09.02