STS4๋ฅผ ์ด์ฉํด์ TodoList App์ ๋ง๋ค๊ณ GitHub์ ์ ๋ก๋ ํ๊ธฐ
TodolistApp ํ๋ก์ ํธ์์ ์ฌ์ฉ๋๋ Java Class ์กฐ์ฌํ๊ธฐ
๊ฐ ํด๋์ค ์ฉ๋
Scanner : ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํฐ ํ์ ์ Scanner ํด๋์ค์ ๋งค์๋๋ฅผ ์ด์ฉํด ์ ๋ ฅ๋ฐ์ ์ ์๋ค.
Comparator : Collection.sort ๋งค์๋๋ฅผ ์ฌ์ฉํด์ ์ ์ฅ๋ ์ธ์๋ค์ ์ ๋ ฌ์ํฌ ์ ์๋ค.
ArrayList : ์๋ฃ๋ฅผ ์์ฐจ์ ์ผ๋ก ์ ์ฅํ์ฌ ๊ด๋ฆฌํ๋ ํ๋ก๊ทธ๋จ์ ๊ตฌํํ ๋ ์ฌ์ฉ๋๋ ํด๋์ค
์์ฃผ ์ฌ์ฉํ๋ ๋งค์๋
addItem() : ํ์ผ์ ์ถ๊ฐํ๋ ๋งค์๋
deleteItem() : ์ฌ์ฉ์ ์ง์ ํ์ผ์ ์ญ์ ํ๋ ๋งค์๋
editItem() : ์ฌ์ฉ์๊ฐ ์ง์ ํ ํ์ผ์ ์ด๋ฆ์ ์ ๋ฐ์ดํธ ํ๋ ๋งค์๋
sortByName() : ์ด๋ฆ์ ์์๋๋ก ์ ๋ ฌํ๋ ๋งค์๋
listAll() : ์ ์ฅ๋ ๋ชจ๋ ํ์ผ์ ๋ณด์ฌ์ฃผ๋ ๋งค์๋
sortByDate() : ์ ์ฅํ date ์์๋๋ก ํ์ผ์ ์ ๋ ฌํ๋ ๋งค์๋
TodoListApp class ๋ถ์
๊ฐ ํด๋์ค์ ์ญํ ๊ณผ ์คํ๋๋ ๋ฉ๋ด์์ ๊ด๊ณ ์ค๋ช
TodoMain ํด๋์ค๋ Mainํจ์์์ ํธ์ถํ์ฌ ์์๋๋ ํด๋์ค.
TodoMain ํด๋์ค์์ TodoList ํด๋์ค์ Menu ํด๋์ค๊ฐ ์ ์ธ๋๋ฉฐ
Menu ํด๋์ค๋ฅผ ํตํด์ ์ฌ์ฉ์์๊ฒ ๋ฉ๋ด๋ฅผ ๋ณด์ฌ์ค๋ค.
์ฌ์ฉ์๊ฐ ์ํ๋ ๋จ์ด๋ฅผ ์ ๋ ฅํ๋ฉด TodoUtil ํด๋์ค๊ฐ ์คํ๋๋ค.
TodoUtil ํด๋์ค๊ฐ ์คํ๋๋ฉด ์ถ๊ฐ/์ ๊ฑฐ/์ ๋ฐ์ดํธ ํจ์์ ๋ฐ๋ผ์ TodoItem ํด๋์ค๊ฐ ์ ์ธ๋๋ค.
TodoItem ํด๋์ค์์๋ get๊ณผ set ๋งค์๋๋ฅผ ํตํด์ ํ์ผ์ ์ ์ฅ, ์ ๊ฑฐ๊ฐ ์งํ๋๋ค.
๋ค์ TodoMainํด๋์ค์ do while ๋ฐ๋ณต๋ฌธ์ผ๋ก ๋์์์ ํด๋น ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค.
์ฌ์ฉ์๊ฐ quit์ ์ ๋ ฅํ๋ฉด TodoMain ํด๋์ค๊ฐ ์ข ๋ฃ๋๋ฉด์ ์ ์ฒด ํ๋ก๊ทธ๋จ์ด ์ข ๋ฃ๋๋ค.
๋ฉค๋ฒ ๋ณ์: ์ญํ ์ค๋ช
Islist ๋ณ์ : ์ฌ์ฉ์๊ฐ ls ๋ช ๋ น์ ํ ๊ฒฝ์ฐ true๋ฅผ ํ ๋นํ๊ณ
if(islist)์ธ ๊ฒฝ์ฐ listAll์ ํ๋ค. Do while ํจ์ ์คํํ๋ง๋ค false๋ก ์ด๊ธฐํ ์์ผ์ผ ํ๋ค.
Choice ๋ณ์ : ์ฌ์ฉ์๊ฐ ๋ฉ๋ด๋ฅผ ๋ณด๊ณ ์ ๋ ฅํ๋ ๊ฐ์ ์ ์ฅํ๋ String ๊ฐ
l ๋ณ์ : TodoList ํด๋์ค๋ฅผ ์์ฑํ๊ณ ์ด๋ฅผ ์ฐ๊ฒฐํด์ฃผ๋ ๋ณ์
sc ๋ณ์ : Scanner type์ ๋ณ์๋ก ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ์ ์๊ฒ ํด์ฃผ๋ ๋ณ์
title ๋ณ์ : ADDํ ๊ฒฝ์ฐ ์ถ๊ฐํ ๋ title ์ด๋ฆ์ ์ ์ฅํ๋ ๋ณ์
desc ๋ณ์ : title์ description ์ด๋ฆ์ ์ ์ฅํ๋ ๋ณ์
current_date ๋ณ์ : ์ ๋ ฅ์ ํ์ฌ์ date๋ฅผ ์ ์ฅํ๊ฒ ๋๋ ๋ณ์
list ๋ณ์ : TodoItem์ ํ์ ์ ๊ฐ๋ List ๋ณ์
index ๋ณ์ : update ํ ๊ฒฝ์ฐ todoItem์ ์ด๋ฆ์ ๊ฐ์ง๋ ๋ณ์์ index๊ฐ์ ์ ์ฅํ๋ ๋ณ์
๋ฉค๋ฒ ๋ฉ์๋: ํจ์๋ช , ํ๋ผ๋ฏธํฐ, ๋ฆฌํด๊ฐ, ๋์๊ธฐ๋ฅ ์ค๋ช
TodoItem : title ๊ณผ desc ๋ฌธ์์ด์ ์ ๋ ฅ๋ฐ๋ ํจ์, (String title, String desc), return ์์
getTitle : ํ๋ผ๋ฏธํฐ X, title ๊ฐ์ ๋ฆฌํด๋ฐ์, Title ์ด๋ฆ์ ๊ฐ์ ธ์ค๋ ํจ์
setTitle : ํ๋ผ๋ฏธํฐ String title, return void, Title ์ด๋ฆ์ ์ ์ฅํ๋ ํจ์
getDesc : ํ๋ผ๋ฏธํฐ X, desc ๊ฐ์ ๋ฆฌํด๋ฐ์, Desc ์ด๋ฆ์ ๊ฐ์ ธ์ค๋ ํจ์
setDesc : ํ๋ผ๋ฏธํฐ String desc, return void, Desc ์ด๋ฆ์ ์ ์ฅํ๋ ํจ์
getCurrent_date : ํ๋ผ๋ฏธํฐ X, current_date ๊ฐ์ ๋ฆฌํด ๋ฐ์, current_date๋ฅผ ๊ฐ์ ธ์ค๋ ํจ์
setCurrent_date : ํ๋ผ๋ฏธํฐ Date current_date, return void, current_date๋ฅผ ์ ์ฅํ๋ ํจ์
addItem : ํ๋ผ๋ฏธํฐ todoItem t, return void, TodoItem์ ๊ฐ์ ์ ์ฅํ๋ ํจ์
deleteItem : ํ๋ผ๋ฏธํฐ TodoItem t, return void, TodoItem์ ๊ฐ์ ์ญ์ ํ๋ ํจ์
editItem : ํ๋ผ๋ฏธํฐ TodoItem t, TodoItem update, return void, t์ index๋ฅผ ์ฐพ์์ ์ญ์ ํ๊ณ
update ๋ TodoItem์ ์๋ก ์ถ๊ฐํ๋ ํจ์
getList : ํ๋ผ๋ฏธํฐ X, TodoItem์ Arraylist๋ฅผ return ๋ฐ๋๋ค. ๋ชจ๋ list๋ฅผ ๊ฐ์ ธ์ค๋ ํจ์
sortByName : ํ๋ผ๋ฏธํฐ X, return void, TodoSortByName๋งค์๋๋ฅผ ์ ์ธํด์ ์ ๋ ฌํ๋ ํจ์
listAll : ํ๋ผ๋ฏธํฐ X, return void, list์ ์๋ ๋ชจ๋ ๋ด์ฉ์ for๋ฌธ์ ๋ฐ๋ณต์์ผ ์ถ๋ ฅ์ํค๋ ํจ์
reverseList : ํ๋ผ๋ฏธํฐ X, return void, list์ ํ๋ผ๋ฏธํฐ๋ก Collection ๋งค์๋๋ก ๋๊ฒจ ์ ๋ ฌ์ํค๋ ํจ์
sortByDate : ํ๋ผ๋ฏธํฐ X, return void, Todolist์ o1๊ณผ o2๋ฅผ ๋น๊ตํด์ ์ ๋ ฌ์ํค๋ ํจ์
indexOf : ํ๋ผ๋ฏธํฐ X, TodoList t์ Index๋ฅผ return ํ๋ค. title์ด๋ฆ์ index๋ฅผ ์ฐพ์์ฃผ๋ ํจ์
isDuplicate : ํ๋ผ๋ฏธํฐ String title, return true or false, ํด๋น title ์ด๋ฆ๊ณผ ์ ์ฅ๋ ๋ชจ๋ list์ ์ด ๋ฆ ์ค ๊ฐ์ ๊ฒ์ด ์๋ค๋ฉด true๋ฅผ ๋ฐํ ์๋๋ฉด false๋ฅผ ๋ฐํํ๋ค.
Compare : ํ๋ผ๋ฏธํฐ TodoItem o1, o2, return negative , 0 , 1, o1์ date์ o2์ date๋ฅผ ๋น๊ตํด ์ ๊ฐ์ ๋ฆฌํดํ๋ค. Compare(Name) : ํ๋ผ๋ฏธํฐ TodoItem o1, o2, return negative, 0, 1, o1์ title๊ณผ o2์ title์ ๋น ๊ตํด์ ๊ฐ์ ๋ฆฌํดํ๋ค. createItem : ํ๋ผ๋ฏธํฐ TodoList item, return void, ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ title๊ณผ desc๊ฐ ๊ธฐ์กด์ ์ ์ฅ ๋ ํ์ผ์ ์ด๋ฆ๊ณผ ์ค๋ณต๋ ์ง ์์ผ๋ฉด ์ ์ฅํ๋ ํจ์
deleteItem : ํ๋ผ๋ฏธํฐ TodoList l, return void, ์ฌ์ฉ์๊ฐ title์ ์ ๋ ฅํ๋ฉด item๋ณ์๋ฅผ ํตํด List ์ ์๋ ๋ชจ๋ ๋ณ์์ title ์ ์ด๋ฆ์ ๋น๊ตํ๊ณ ๊ฐ๋ค๋ฉด ํด๋น List์ Item์ ์ ๊ฑฐํ๋ค.
updateItem : ํ๋ผ๋ฏธํฐ TodoList I. return void. ์ฌ์ฉ์๊ฐ title์ ์ ๋ ฅํ๋ฉด ์ ์ฅ๋ list์ ๋ด์ฉ๊ณผ title์ ์ด๋ฆ์ด ๊ฒน์น๋์ง ํ์ธํ๊ณ ์์ผ๋ฉด new_title์ด๋ฆ์ ์ ๋ ฅ๋ฐ๊ณ , new_description์ ์ด๋ฆ์ ์ ๋ ฅ๋ฐ๋๋ค. ๊ทธ๋ฆฌ๊ณ title์ ์ด๋ฆ๊ณผ List ์ ์ด๋ฆ์ด ๋์ผํ๋ค๋ฉด ํด๋น title์ ์ ๊ฑฐํ๊ณ new_title ๊ณผ new_description TodoItem ํด๋์ค๋ฅผ ์๋ก ์ ์ฑํ๊ณ AddItem์ ํตํด ์๋ก ์ถ๊ฐํ๋ค.
listAll : ํ๋ผ๋ฏธํฐ TodoList l, return void, ๋ชจ๋ list๋ฅผ ๊ฐ์ ธ์ค๊ณ ํด๋น title๊ณผ desc๋ฅผ ์ถ๋ ฅํ๋ ํจ ์
'๐ Major Study (Bachelor) > ๐ต ์ค์ ํ๋ก์ ํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ค์ ํ๋ก์ ํธ 9Week (0) | 2021.10.26 |
---|---|
์ค์ ํ๋ก์ ํธ LAB6 (0) | 2021.10.26 |
์ค์ ํ๋ก์ ํธ LAB5 (0) | 2021.10.26 |
์ค์ ํ๋ก์ ํธ LAB4 (0) | 2021.10.26 |
์ค์ ํ๋ก์ ํธ LAB3 (0) | 2021.10.26 |