-
[TIL] - 230705 ์๋ฐ ์ ์ด๋ฌธ, ์บก์ํ, ๋ฐ๋ณต๋ฌธ, ๋ฐฐTIL 2023. 7. 5. 18:09๋ฐ์ํ
# kb IT's your life 4๊ธฐ
๐Facts
Test class(main)์ ์ญํ
1. ๊ฐ์ฒด ์์ฑ: class์ ๋ฉค๋ฒ๋ค ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋ฉ
2. ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผ: ์ฌ์ฉ
- ํ๋ ์ฌ์ฉ --> ๊ฐ ํ ๋น
- ๋ฉ์๋ ์ฌ์ฉ --> ํธ์ถ๋ฐํํ์ ์ด ์์ด ํจ์๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ์์ฑ์๋ class ๊ตฌ์ฑ์์์ ํฌํจ๋์ง ์๋๋ค.
- ํ๋์ ํด๋์ค์๋ ๋ฐ๋์ ํ๋ ์ด์์ ์์ฑ์๊ฐ ์กด์ฌํ๋ค.
- ๋ช ์์ ์์ฑ์๊ฐ ์ ์๋์ด ์์ง ์์ ๋ ์ปดํ์ผ๋ฌ๊ฐ ๋ฌด์กฐ๊ฑด ๊ธฐ๋ณธ ์์ฑ์๋ฅผ ๋ฃ์ด์ค๋ค.
- ๋ง์ฝ์ ๋ช ์์ ์์ฑ์๊ฐ ์ ์๋์ด ์์ผ๋ฉด ๊ทธ๋๋ ์๋์ผ๋ก ๊ธฐ๋ณธ ์์ฑ์๊ฐ ์ ์๋์ง ์๋๋ค.
Package
- package ์ ์ธ ๋ถ๋ถ์ด ๊ฐ์ฅ ์ฒ์์ ๋์จ๋ค.
- package๋ ๋ฌด์กฐ๊ฑด ์๋ฌธ์, ํค์๋๋ ์ ์ธ, .๋ฅผ ๊ธฐ์ค์ผ๋ก ์์, ํ์๊ฐ ๋๋จ.
- .class ์คํํ์ผ์ 3๋จ๊ณ ํจํค์ง ์์ ๋ค์ด์๋ค.
- top level package.server level package.
- ๋ชจ๋ class ์ ์ผ ์ฒ์์ ๋์ค๋ ๊ฒ package, ๊ทธ๋ค์ import, ๊ทธ๋ค์ class ๋ถ๋ถ์ด ๋์จ๋ค.
- ์ดํด๋ฆฝ์ค ํด๋์ค ์๋ import: ctrl shift m
Scanner
https://docs.oracle.com/javase/8/docs/api/
์ฒ์ default statement๋ ๊ผญ ์ฝ์. ์ด ์น๊ตฌ๊ฐ ๋ญ ํ๋ ์น๊ตฌ์ธ์ง ์ ์ ์๋ค.
์ด ์ฌ์ดํธ์ ๋ค์ด๊ฐ์ ์์ฑ์๋ฅผ ๋ณด๋ฉด ์ด๋ป๊ฒ ์ฌ์ฉํ๋์ง ์ ์ ์๋ค.
1. ํค๋ณด๋๋ก ์ ๋ ฅ: Scanner sc = new Scanner(System.in);
2. ํ์ผ์ ๊ฐ์ ์ ๋ ฅ: Scanner sc = new Scanner(new File(”input.txt”));
field์ ์ง์ญ๋ณ์์ ๊ตฌ๋ถ
field - ํด๋์ค ๋ฐ๋ก ์๋
- ๋ฉ์๋ ๋ธ๋ฝ ๋ฐ๊นฅ
- ๊ธฐ๋ณธ๊ฐ์ ๊ฐ์ง๋ค
- ์ด๊ธฐํ ์ ํ๊ณ ์ฌ์ฉํด๋ ์๋ฌ ์๋จ!!
local ๋ณ์ - ๋ฉ์๋ ๋ธ๋ฝ ์
- ๊ธฐ๋ณธ๊ฐ์ด ์๋ค.
- ๊ทธ๋์ ์ด๊ธฐํ๋ฅผ ๋ฐ๋์ ํด์ผ ํ๋ค.
- ์ ํ๋ฉด ์๋ฌ๋จ!!!
์ ์ด๋ฌธ
- switch์ case์์ break๋ฌธ์ ์ ์ฒด switch๋ฅผ ๋น ์ ธ๋๊ฐ๋๋ก ํ๋ค.
- switch ๋ณ์์ ์ค์ํ๋ง ๋ชป ๋ค์ด๊ฐ๋ค!
- default ๋ถ๋ถ์ if/else๋ฌธ์ else์ ๋์ผ!
์บก์ํ Encapsulation
- ํน์ ํ ํด๋์ค์ ํ๋๋ฅผ ๋ณดํธํ๊ธฐ ์ํด ์บก์ํ
- ์บก์ํ: ์ธ๋ถ(๋ค๋ฅธ ํด๋์ค)์์ ํ๋์ ์ง์ ์ ๊ทผํ ์ ์๋๋ก ํ ์ฅ์น
์บก์ํ์ ์ด์
- ๋ฐ์ดํฐ๊ฐ ์ ๋๋ก ๋ค์ด๊ฐ๋ ค๋ฉด ๋ค๋ฅธ ํด๋์ค์์ ๋ฐ์ดํฐ๊ฐ ๋ค์ด๋ ํธ๋ก ๋ค์ด๊ฐ๋ฉด ์ ๋๋ค.
- ์๋ฌด๋ฐ ์ ์ด์ฅ์น ์์ด invalid ํ ๊ฐ์ด destination์ ๊ฝํ๋ฉด ์ ๋๋ค
๐ Encapsulation ์์ฑํ๋ source code pattern
1. private field
2. public void setXxx(o, o) public Xxx getXxx()
3. setter๋ฉ์๋ ํ๋์ด๊ธฐํ ํ๊ธฐ ์ง์ ์ ํ๋นํ ๊ฐ๋ง ํ๋์ ์ ์ฅ๋๋๋ก ๋ฌธ์ฅ์ ์ ์ดํ๋ค.
๋ฐ๋ณต๋ฌธ: for๋ฌธ๊ณผ while๋ฌธ์ ์ด๋จ ๋ ์ฌ์ฉํ ๊น
for(์ด๊ธฐํ;์กฐ๊ฑด์;์ฆ๊ฐ์){ // } //===================== ์ด๊ธฐํ while(์กฐ๊ฑด์){ // ์ฆ๊ฐ์ }
for๋ฌธ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ: ์ฌ์ด์ฆ๊ฐ ์ ํด์ ธ ์์ ๋, ๋ด๊ฐ ๋ช ๋ฒ ๋๋ ค์ผ ํ ์ง ์ ๋
while๋ฌธ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ: ๋ฐ๋ณต ํ์๋ฅผ ๋ช ๋ฒ ๋๋ ค์ผ ํ ์ง ๋ชจ๋ฅผ ๋
break/continue
break: ๋ฐ๋ณต๋ฌธ์ ์ค๋จ.
continue: ๊ฑด๋๋ฐ์ง๋ง ๋๊น์ง๋ ๊ฐ.
๋ฐฐ์ด
- ๋ฐฐ์ด์ ๊ฐ์ฒด๋ค→์ ์ธํ๋ฉด ์๋์ผ๋ก ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ด๊ธฐํ๋จ.
- same data type
//์ ์ธ ์์ฑ ์ด๊ธฐํ int[] arr; //dataType + ๋ณ์๋ช ; arr=new int[3]; arr[0]=11; arr[1]=22; arr[2]=33; //์ ์ธ+์์ฑ ์ด๊ธฐํ int[] arr=new int[3]; arr[0]=11; arr[1]=22; arr[2]=33; //์ ์ธ+์์ฑ+์ด๊ธฐํ int[] arr={11,22,33};
๐ Findings
๊ฐ์ฌ๋์ && ๋์ ์ &๋ฅผ ์ฐ์ ์ ๋์ ์ฐจ์ด์ ์ ๋ํด ๊ฒ์ํด ๋ณด์๋ค.
https://itbeginner2020.tistory.com/14
์๋ฏธ๋ก๋ ์ฐจ์ด๊ฐ ์์ง๋ง &๋ ์ ์๊ฐ false์ฌ๋ ํ์๊น์ง ๊ฒ์ฌ๋ฅผ ํ๋ค๊ณ ํ๊ณ , &&๋ ์ ์๊ฐ false์ด๋ฉด ๋ค์ ๊ฑฐ๋ ๋ณด์ง๋ ์๊ณ false๋ฅผ ๋ฐํํ๋ค๊ณ ํ๋ค. ๊ทธ๋์ null pointer exception์ผ๋ก๋ถํฐ &&๊ฐ ์ข ๋ ์์ ๋กญ๋ค.
๊ทธ๋๋ก &&๋ฅผ ์จ์ผ๊ฒ ๋ค~
๐ Feelings
์บก์ํ๋ฅผ ์ ํด์ผ ํ๋์ง ์๋ฏธ๋ฅผ ์๊ฒ ๋ผ์ ์ข์๋ค.
for๋ฌธ๊ณผ while๋ฌธ์ ์ทจํฅ์ฐจ์ด๋ผ๊ณ ์๊ฐํ๋๋ฐ ์ ํ ์๋์ ์๊ฒ ๋๋ค. ๊ฐ๊ฐ์ด ํ์ํ ๊ฒฝ์ฐ์ ์ ์จ์ผ๊ฒ ๋ค.
๊ทธ๋ง ๋ฃ๊ฒ ๋์ด ์์ฝ๋ค... ์๊ณ ๋ฆฌ์ฆ 2์ฃผ ํ ์๋ฐ ๋๋ด๊ธฐ 3์ผ ๊ฐ์์ Servlet ๊ฐ์๋ฅผ ๊ผญ ๋ฃ๊ณ ์ถ์๋๋ฐ...
๋ค์์ ๋ค์ ๊ธฐํ๊ฐ ์์์ผ๋ฉด ์ข๊ฒ ๋ค.๐งญ Future
๋ค์์์ ๋ด์ฉ 23-07-06
- Primitive DataType Array
- Reference DataType Array
์์ต๋ณด๋ค๋.... ์ผ๋จ js๊ฐ ๊ธํ๋ค!
๋ฐ์ํ'TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[TIL] - 230918 mvc + service ๊ตฌ์กฐ (0) 2023.09.20 [TIL] - 230829 css ๊ธฐ์ด (0) 2023.09.18 [TIL] - 230828 html ๊ธฐ์ด (0) 2023.09.02 [TIL] - 230704 data type, ๋ฉ๋ชจ๋ฆฌ ํ ๋น, has a relation, ๋ฌต์์ ์ด๊ธฐํ (0) 2023.07.04 [TIL] - 230703 ์๋ฐ ๊ฐ์ฒด์งํฅํ๋ก๊ทธ๋๋ฐ, jdk, jre, oop, ํด๋์ค, platform independence (0) 2023.07.03