Gallery
Search
๋ฐฐ์ด์ ๋ณต์ฌํ๋ ๊ฒ ์ค์ ์์์ (i)์ ๋์ง์ (j)๋ฅผ ์ ํด์ ๋ถ๋ถ์ ์ถ์ถํ์ฌ ์๋ฐฐ์ด์ ๋ง๋๋ ๋ฌธ์ ์ด๋ค.
i, j๋ ๋ฐฐ์ด์์๋ i-1, j-1 ๋ฒ์งธ๋ก ์ธ์ํด์ผ ํ๋ค.
์ ๋ฐฐ์ด์ k๋ฒ์งธ ๋ฐฐ์ด์ ์ถ์ถํ๊ธฐ ์ํด์๋ ์ค์ ๋ก ๋ฐฐ์ด์์ k-1๋ฒ์งธ๋ผ๋ ๊ฒ์ผ๋ก ์ธ์ํด์ผํ๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก Arrays ํด๋์ค์ copyOfRange(arr, i, j) ๋ฉ์๋๋ ๋ฐฐ์ด arr์ ์์์ i๋ฒ์งธ์ธ๋ฑ์ค๋ถํฐ ๋์ง์ j๋ฒ์งธ ์ธ๋ฑ์ค๊น์ง ๋ฒ์๋ฅผ ๋ณต์ฌํ์ฌ ์ ๋ฐฐ์ด์ ๋ง๋ค ์ ์๋ค.
[Java]40 ๊ธฐ์ด๋ฌธ๋ฒ - Arrays.copyOfRange(arr,i,j) method
Stream ํ๋ฒ ์จ๋ณด๊ณ ์ถ๋ค๋ ์๊ฐ์ ํญ์ ํ์ง๋ง, ์ดํด๋๊ฐ ๋ถ์กฑํด์ ๋ชป์ฌ์ฉํ๊ณ ์์๋ค. ์, ์ด๋ฒ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ํ๋ฉด์ ํ๋ฒ ๋์ ํด๋ณผ๊น? ํ๊ณ ์ฒ์ฒํ ์ฌ์ฉํด๋ดค๋ค. ๊ทธ์ ๊น์ง๋ ์ด๋ก ์ ๋จผ์ ๊ณต๋ถํด์ผ์ง ์ธ์ ์์๊ฒ ๊ฐ์๋ผ๋ ๋๋ ค์์ ์ ์ฌ์ฉ์ ์ํ์๋๋ฐ, ์ ์ ๋ฌธ์ ์์ ์๊ตฌ๋๋ ์ฌํญ๋ค์ ๊ธฐ๋ณธ for loop๋ก ํด๊ฒฐํ๊ธฐ ๋์กํด์ง๋ ์ํฉ์ด ๋ํ๋๊ณ ์๊ณ , ๋จธ๋ฆฟ์์์ ์ ๋ฆฌ๊ฐ ์์๋์๋ค. ๋น์ฐํ for loop๋ก๋ ๊ตฌํ ํ ์ค ์์์ผํ๋ ๋ถ๋ถ์ด์ง๋ง, ๊ณ์ ๊ทธ ์์์ ๋ฉ์ถ๋ฉด ์๋๊ฒ ๋ค๋ ์๊ฐ์ ํ๋ฒ ๋์ ํด๋ณด๊ฒ ๋์๋ค. ์จ๋ด์ผ์ง ๊ทธ ๊ธฐ๋ฅ์ ์๊ณ ๋ถ์กฑํ ๋ถ๋ถ์ ์ฑ์๋๊ฐ์ ์์ ํ
๋๊น.
๋ฌธ์ ์ค๋ช
๋ฌธ์์ด๋ก ๊ตฌ์ฑ๋ ๋ฆฌ์คํธ strings์, ์ ์ n์ด ์ฃผ์ด์ก์ ๋, ๊ฐ ๋ฌธ์์ด์ ์ธ๋ฑ์ค n๋ฒ์งธ ๊ธ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ๋ ค ํฉ๋๋ค. ์๋ฅผ ๋ค์ด strings๊ฐ ["sun", "bed", "car"]์ด๊ณ n์ด 1์ด๋ฉด ๊ฐ ๋จ์ด์ ์ธ๋ฑ์ค 1์ ๋ฌธ์ "u", "e", "a"๋ก strings๋ฅผ ์ ๋ ฌํฉ๋๋ค.
์ ํ ์กฐ๊ฑด
โข
strings๋ ๊ธธ์ด 1 ์ด์, 50์ดํ์ธ ๋ฐฐ์ด์
๋๋ค.
โข
strings์ ์์๋ ์๋ฌธ์ ์ํ๋ฒณ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
โข
strings์ ์์๋ ๊ธธ์ด 1 ์ด์, 100์ดํ์ธ ๋ฌธ์์ด์
๋๋ค.
โข
๋ชจ๋ strings์ ์์์ ๊ธธ์ด๋ n๋ณด๋ค ํฝ๋๋ค.
โข
์ธ๋ฑ์ค 1์ ๋ฌธ์๊ฐ ๊ฐ์ ๋ฌธ์์ด์ด ์ฌ๋ฟ ์ผ ๊ฒฝ์ฐ, ์ฌ์ ์์ผ๋ก ์์ ๋ฌธ์์ด์ด ์์ชฝ์ ์์นํฉ๋๋ค.
์ ์ถ๋ ฅ ์
strings | n | return |
["sun", "bed", "car"] | 1 | ["car", "bed", "sun"] |
["abce", "abcd", "cdx"] | 2 | ["abcd", "abce", "cdx"] |
Arrays.stream(strings) ๋ก ์ผ๋จ ์คํธ๋ฆผ์ผ๋ก ๋ง๋ค์ด๋๊ณ ๋ณด์.
.sorted() ๋ฉ์๋๋ฅผ ํตํ ์ ๋ ฌ
.sorted((a,b) -> a.compareTo(b) ์ค๋ฆ์ฐจ์
.sorted((a,b) -> b.compareTo(a) ๋ด๋ฆผ์ฐจ์
[Java]39 ๊ธฐ์ด๋ฌธ๋ฒ - Stream ์ฌ์ฉํด๋ณด๊ธฐ, sorted(), compareTo() ๋ฉ์๋ ์ฌ์ฉํด๋ณด๊ธฐ
์์นจ๋ถํฐ ์ฝ๋ฉํ
์คํธ ๋ฌธ์ ๋ฅผ ํตํด์ Java ๊ธฐ๋ณธ๊ธฐ๋ฅผ ๊พธ์คํ ๊ณต๋ถํ๊ธฐ ์ํด์ 1์๊ฐ์ฉ ํฌ์ํ๊ณ ์๋ค. ๊ทธ๋ฐ๋ฐ ๊ฐ์๊ธฐ ์ค๋์ ์๊ฐ์ง๋ ๋ชปํ ์ค๋ฅ๊ฐ ๋ํ๋ฌ๋ค. ์ฐ์ Solution ํด๋์ค์ ์คํ๋ถ์ธ Main๋ฉ์๋๋ฅผ ๊ตฌ์ฑํ๊ณ ๋น๊ฐ์ด๋ผ๋ ์ ๋ฌ์ด ์ ๋๋์ง ํ์ธํ๊ธฐ ์ํด์ ์คํ์ ํ๋๋ฐ ์๋์ ๊ฐ์ ์ค๋ฅ ๋ฉ์์ง๊ฐ ๋ํ๋ฌ๋ค.
Toolchain from executable property does not match toolchain from javaLauncher property
ํ๊ธ๋ก ๊ฒ์์ด ์ ์๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค. StackOverFlow์์ ์ผ๋ถ ๋์ผํ ์ฆ์์ ๊ฐ์ง ์ฌ๋๋ค์ด ๋ํ๋ฌ๋ค. ์ผ๋จ Run๊ณผ์ ์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ผ๋ฉฐ ๋ฐ์ ์์ ์ build ์ปดํ์ผ ๊ณผ์ ์์ ํด๋น ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค. javaLauncher์ ๊ด๋ จ ๋ ๊ฒ์ผ๋ก ๋ณด์ SDK(JDK)์ ๋ฌธ์ ์ผ ๊ฐ๋ฅ์ฑ์ด ๋์๋ค.
์ฐ์ ํ๋ก์ ํธ์์ JDK๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ค์นํด๋๊ณ ๊ฒฝ๋ก๋ฅผ ์ค์ ํด๋์์๊ธฐ ๋๋ฌธ์ ๋ญ๊ฐ ๋ณ๊ฒฝ์ ์ด ์์๋์ง File>Project Structure์์ JDK๋ฒ์ ์ด ์ฌ๋ฐ๋ฅด๊ฒ 17 Homebrew๋ก ์ค์ ๋์ด์๋์ง๋ถํฐ ํ์ธํ๋ค.
๋ํ ํ๋ก์ ํธ๊ฐ ์ฌ๋ฐ๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฃผ์
๋ฐ๊ณ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ณด์ ํ๊ณ ์๋์ง ํ์ธํ๋ค. Project์ ์ฐ์ธก External Libraries์์ JDK๋ฅผ ํฌํจํ ์ฌ๋ฌ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ํ์ธ ํ ์ ์๋ค. ๊ทธ์ค JDK๋ 17 (Homebrew)๋ก ์ ํํ๊ฒ ์ค์น๋์ด ์์๋ค.
๋๋ ์ด ๋ฌธ์ ์ ๋ํ ์ถ๊ฐ์ ์ธ ํด๊ฒฐ์ ์ฐพ๊ธฐ ์ํด ChatGPT์๊ฒ ์ง๋จ์ ์๊ตฌํ๋ค. ๊ฒฐ๊ณผ,
ChatGPT์์ ์๋ด ๋ด์ฉ
์ฐ์ ์๋ด๋ ๋ด์ฉ์ ๋ฐ๋ผ ํ๋์ฉ ์ ๋ณด๋ฅผ ํ์ธํ๊ณ ์์ ํ๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ์ด๋ ํ ์
๋ฐ์ดํธ๊ฐ ์์๊ฑฐ๋, ๋ค๋ฅธ ํ๋ก์ ํธ๋ฅผ ๋์์ ์ด๊ณ ๋ซ๋ ๊ณผ์ ์์ ๋ฌด์ธ๊ฐ ๋น๋๊ฐ ๊ผฌ์ธ ์ํฉ์ผ๋ก ๋ณด์ฌ์ง๋ค.
[Java]38 javaLauncher Toolchain ๊ด๋ จ ํธ๋ฌ๋ธ์ํ
(Gradle, JDK๊ฐ์ ๋ฌธ์ )
์ด๋ฒ ์ฃผ๋ง ํ , ์ผ์ ํตํด์ ์ค์ค๋ก ์ต์ํด์ง๋ ์ฒซ ๊ฑธ์ ๋ชฉํ๋ฅผ ์ฑ๊ณตํ๋ค. ๊ทธ๋ฆฌ๊ณ โJava์ ์ ์โ์ ํ์ ๋๊ผ๋ค.
Java์ ์ ์ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ด๋ถ๋ถ์ ํ์ตํ๋๋ฐ ํ ์์ผ, ์ผ์์ผ ํฉ์ณ์ 35์๊ฐ์ด ์์๋์๋ค. ๋ฐฅ๋จน๊ณ ์ด๋ฐ ์๊ฐ์ ๋นผ๋๋ผ๋ ์ต์ 25์๊ฐ์ ์ด์ด์ ๋ชฐ์
ํ๋๊ฒ ๊ฐ๋ค. ์ค์ ๊ฐ์๋ 446๋ถ, 8์30๋ถ์ ๋ ๋ถ๋์ด๋ค. ๋ถ๋์ ๋นํด 2~3๋ฐฐ ์ ๋ ์๊ฐ์ด ์์๋๋ค.
์ฐ์ ์ดํด๊ฐ ์๋๋ ๋ถ๋ถ์ ๋ฌด์กฐ๊ฑด ๋ฉ์ถ๊ณ ๋ค์ ๋๋ ค๋ณด์๊ณ , ๋จ๊ถ์ฑ ๊ฐ์ฌ๋์ด ๊ทธ๋ฆฌ๋ผ๋ฉด ๊ทธ๋ฆฌ๊ณ ์ค์ตํ์๋ฉด ์ค์ต์น๊ณ ์ฑ
์๋ ํ๊ธฐํ๊ณ ์์คํ์ผ์๋ ํ๊ธฐํ๊ณ ์ปค๋ฐํธ์ํ๊ณ ๊ฐ ์ฅ์ ๋์ด๊ฐ๋๋ง๋ค ์ปค๋ฐ๋ฉ์์ง๋ก ๊ฐ๋ต ์์ฝ์ ๋จ๊ฒจ์ ํ๋ฒ ๋ ํต์ฌ์ ์์ฝํ๋ ๋ฑ ๋ถ๊ฐ์ ์ผ๋ก ์๊ฐ์ด ์๊ฐ๋ณด๋ค ๋ง์ด ์ฌ์ฉ๋๊ธด ํ๋ค. ํ์ง๋ง ์ฐ์ ๋ชฉํ๋กํ๋ ๋ฒ์๊น์ง ๋ฑ ํ๋ฒ ์๊ฐ์ ์ ํ๊ณ ๋ฌ๋ฆฌ๊ณ ๋๋ ๋ฟ๋ฏํ๋ค. ์ด๋ค ์ด๋ ค์ด ๊ฒ์ด๋๋ผ๋ ์ด ์ฑ
์ ํ์ ๋ฏฟ๊ณ ๊ฐ์ด ๊ฐ๋ฉด ๋ ๊ฒ ๊ฐ์ ์ ๋ขฐ๊ฐ ์๊ฒผ๋ค. ๋์ณค๋ ๊ฒ๋ค์ ๋ง์ด ํ์ ํ ์ ์์๊ณ , ์ ๊ธฐ๋ณธ๊ฐ๋
์ด ํ๋ค๋ ธ๋์ง โ์์ฃผ ๋ง์โ ์์ธ๋ค์ ์ฐพ์๋ธ ๊ฐ์ฅ ๋ณด๋์ฐฌ ์ง์ค ๊ณต๋ถ์๋ค.
๋ฌผ๋ก ์์๊ฐ์ ๋ชจ๋ ๊ฒ์ ์ธ์ฐ์ง ๋ชปํ๊ณ ๋ฒ๋ฒ
์ผ ์ ์์ง๋ง, ์์ผ๋ก ์ด ๋ถ๋ถ์ ๊ณ์ ํ์ํ๋ฉด์ ํ๋๋ ๋ฐฐ์ฐ๊ณ , ๋ ๋ฐ๋ณตํ๊ณ , ๋ ๋ฐฐ์ฐ๊ณ ๋ฐ๋ณตํ๊ณ ์ ์ฐจ ๋ฅ์ํด์ง๊ณ ์ถ์ด์ง ๊ธฐ์ด๊ฐ ์ธํ
๋๋ ๋๋์ด๋ค. ์ฒ์์ ์ด๋ ค์ด์ค ์์๋ค. ๊ฐ๋ฉด ๊ฐ์๋ก ๋ด๊ฐ ๋ชจ๋ ๋ค์์๋ ์ฉ์ด๋ค, ๊ฐ๋
๋ค์ด ๋ฑ์ฅํ์ง๋ง ์ง๊ธ ์ต์ํ์ง ์๋ค๋๊ฒ์์ ์ ๋ง ์ผ๋ง๋ ๋ง์๊ฒ์ ๋์ณค๊ณ ์ดํด๋ฅผ ํ์ง ๋ชปํ๊ณ ์ง๋๊ฐ๋์ง ์๊ฒ๋์๋ค. ๊ทธ๋ฐ ๋ถ๋ถ๋ค์ ์ฐจ๊ทผ ์ฐจ๊ทผ, ์ง๊ธ ์์ค์ ๋ง๊ฒ ์ด๋ป๊ฒ ์ต์ํด์ ธ๋๊ฐ์ผ ํ๋์ง, ์ง๊ธ ๋น์ฅ ์ด๋ค๊ฒ์ ์ง์คํด์ผ ํ๋์ง ๊ทธ ๋ฐฉ๋ฒ์ ์๋ ค์ฃผ์
จ๋ค. ์ด์ ์์ผ ์ด ๊ฐ์๊ฐ ์ผ๋ง๋ ์ฝ๊ฒ ์๋ ค์ฃผ๋, ์ผ๋ง๋ ๊ธฐ๋ณธ๊ธฐ์ ๋ํด์ ์ ์๋ ค์ฃผ๋ ๊ฐ์์ธ์ง๋ ๊นจ๋ฌ์๋ค.
์๊ธฐ ์ ์ ๋น ๋ฅด๊ฒ ์ ์ฒด์ ์ผ๋ก ์ปค๋ฐ ๋ฉ์์ง๋ก ๋จ๊ฒจ๋ ์์ฝ์ ํ๋ฒ ๋ ๋ธ๋ก๊ทธ๋ก ์ฎ๊ฒจ ์ ์ผ๋ฉด์ ์ค์ ๋ถ๋ถ์ ํ๋ฒ ๋ ์ญ ์ฝ์ด๋ณด๊ณ ์ ํ๋ค. ๊ธธ๋ฉด ์ธ์ธ ์ ์๋ค. ์งง๊ฒ์ฐ๊ณ ํ๋ฆฐํธํด์ ๋ฒฝ์ ๋ถ์ฌ๋๊ณ ๊ณ์ ์ด๊ฒ์ ๋ํด ์๊ฐํ์. ๋จ๊ถ์ฑ ๊ฐ์ฌ๋์ ๋ฌ์ฌ ๊ทธ๋๋ก์ธ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ์ด๊ฒ ๊ฐ์ฅ ๋์๊ฒ ์ฝ๊ฒ ์ดํด๋์๋ค.



[Java]37
ย ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ(OOP) - ๊ธฐ๋ณธ ๊ฐ๋
๋
ธํธ ๋ฐ ๋ณต์ต ํ๊ณ
๋ฌธ์ ์ ํ์
- โ์ ๊ณต๋ถ๋ฅผ ํ๋๋ฐ ๋จ๋๊ฒ์ด ์์๊น?โ ์ ๋ํ ๊ณ ๋ฏผ
๋น์ฅ Spring์ ๊ณต๋ถํด์ผ ํ๋ค. ํ์ง๋ง, ๋ฌธ์ ๊ฐ ์์๋ค.
๊ฐ์ฅ ์ค์ํ ๋ถ๋ถ์ ๊ณต๋ถํ๊ณ ์์ง๋ง, ๊ธฐ๋ณธ๊ธฐ๋ผ๋ ์์ญ์ ๋ถ์กฑํจ์ด ์ฑ์์ง์ง ์์์ฑ๋ก ์์๋๋ ๋๋ ค์๋ ์ปธ๋ค. ์ง๋๋ฅผ ๋ง์ถฐ์ผ ํ๋๋ฐ, ์ด์ ํํ์ ๋๊ฐ์ ๊ณผ์ ์ ๋ฐ๋ณต์ด ์๋๊น๋ผ๋ ๋๋ ค์์ด ์์๋ค.
Spring ๋ถ๋ถ์ ๊ณต๋ถํ์์ง๋ง? ์๋, ์ ํํ๋ ์ง๋๋ ๋๊ฐ์์ง๋ง, ์๋ฌด๋ฆฌ ๋ฐฐ์ ๋ ์๊ฐ์ด ์ผ๋ง ์ง๋ฌ๋ค๋ ๊ฒ๋ง์ผ๋ก๋ ๋ด๊ฐ ์ดํดํ์ง ๋ชปํ ๋ถ๋ถ, ๋์น ๋ถ๋ถ์ด ์๊ฐ๋ณด๋ค ๋ง์ด ์์์ ์๊ณ ์๊ณ , ์์ง๊น์ง ๊ณ์ํด์ ๊ตฌ๋ฉ ๋ซ๋ฆฐ ํญ์๋ฆฌ์ ๋ฌผ์ ์ฑ์ฐ๋ ๋๋๋ ๋ค์๋ค
๊ณ์ํด์ ๊ฐ๋
์ด ํ๋ค๋ฆฌ๊ณ ๋ค์ฃฝ๋ฐ์ฃฝ ์์ฌ์ ๊ฒฐ๋ก ์ ์ผ๋ก ์๋ฌด๊ฒ๋ ๋จ์๊ฒ์ด ์๋ค๋ ๊ฒ์ด ํ์ค์ด๋ค. ์ง๊ธ ๊ณผ์ ์์๋ ์ฑ์์ง์ง ์๋ ๋ถ์กฑํจ์ ํญ์ ๋๋ผ๊ณ ์ค์ ๋ก ์ค๋ ฅ์ ์ผ๋ก ๋์ง ์์๋ค.
๋น์ฅ Spring์ ์งํํ๋ ๊ฒ์ด ๋ง๋๊ฐ?
์ ๋ฐฐ๊ฐ ๊ฑด๋ค์ฃผ๋ ํํธ๋ฅผ ๋์น์ง ๋ง์
์ด์ ๋ฐค๋ฆ๊ฒ๊น์ง ๋ฉํ ๋๊ณผ์ ์๋ด์ ํตํด์ ์ ๋ถ๋ถ์ ๋ผ์ ๋ฆฌ๊ฒ ์ฒด๊ฐํ๋ค. ๋ฉํ ๋์ ํ๋จ์ โ๋น์ฅ Spring์ ๋ฐฐ์ธ ์ค๋น๊ฐ ๋์ง ์์๋ค.โ ๋ผ๋ ๊ฒ์ด ์ค์ง์ ์ธ ํ๊ฐ์๊ณ , ๋งค์ฐ ๊ฐ๊ด์ ์ธ ํ๋จ์์ ๋๋ ๋๊ผ๋ค. ํ์ง๋ง ๊ถ๊ธ์ฆ์ด ์์๋ค.
๋๋ โ์ ์ด์ ๊ต์ก์ ์งํํ์์๋ ํฐ ์ฑ๊ณผ๋ฅผ ๊ฑฐ๋์ง ๋ชปํ๋๊ฐ?โ, โSpring Boot๊น์ง ํ๋ฒ ์งํํ์ง๋ง ์ ๋ฌด์ธ๊ฐ ๋จ์ง ์์์๊น?โ๋ผ๋ ๊ถ๊ทน์ ์ธ ๋ฌธ์ ์ ์ด ์๋ค. ๊ทธ๋ฅ ์๊ฐ์ด ์ง๋์์ผ๊น? ์ด๊ฒ๋ ์๋๋ค. ๊ณต๋ถ๋ฅผ ๊ฒ์๋ฆฌํ์๊น? ์์งํ๊ฒ ๊ทธ ๋น์์๋ ๊ณต๋ถ๋ฅผ ์ด์ฌํ ์ํ๊ฒ์ด ์๋์๋ค. ๊ทธ ์์ค์๋ ๋จธ๋ฆฌ๋ฐ๊ณ ์ต์ ์ ๋คํด์ ๊ณต๋ถ ํ๋ค. ํ์ง๋ง ๊ณผ์ ์ด ์ด์ฐ๋์๋ ๊ฒฐ๊ณผ์ ์ผ๋ก ๋จ์ ๊ฒ์ด ์๋ ๊ฒ์ด ๋ฌธ์ ๋ค. ๋นํจ์จ์ ์ธ ๊ณต๋ถ๋ฐฉ๋ฒ์ด์ง ์์์๊น? ๋ผ๋ ์๊ฐ์ด ๋ค์๋ค. ํ์ง๋ง ์ด๋ ๋ถ๋ถ์ด ๋ถ์กฑํ ๊ฒ์ธ์ง ์ ํํ ์ง๋จ์ ๋ด๋ฆฌ๊ธฐ ์ด๋ ค์ ๋ค.
๋ ๊ฐ์ ์ด๋ณด๊ฐ ๊ฐ์ง ์ ์๋ ์ค์๋ฅผ ์๊ฒ ๋์๋ค. ๋ญ๊ฐ ๋
ธ๋ ฅํ๋ฉด์ ์๊ฐ์ ์์ ๋ถ์ง๋ง, ๊ฒฐ๊ณผ์ ์ผ๋ก ๋จ๋๊ฒ์ด ๋ณ๋ก ์๋ค. โ๋นํจ์จ์ ์ธ ๊ณต๋ถโ ๋ง ๊ทธ๋๋ก ์ด์ฌํ๋ ํ๋๋ฐ ํจ๊ณผ๊ฐ ์๋ ๊ณต๋ถ๋ง ํ๋ ์ฌ๋์ด์๋ ๊ฒ์ด๋ค.
๋ฉํ ๋์ ๋ด๊ฐ ๊ณต๋ถํ๋ ์ฑ
์ ์ปค๋ฆฌํ๋ผ์ ์ดํด ๋ณด์
จ๊ณ , ์ฑ
์ ์ปค๋ฆฌํ๋ผ ์์์ ๋ํ ๋ฌธ์ ๋ฅผ ์ง์ ํ์
จ๋ค. ์ฒ์์ ๋ชฐ๋๋ค. ๊ทธ๊ฒ์ด ์ด๋ค ์ฐจ์ด๊ฐ ์๊ณ , ๋ฌด์จ ๋ฌธ์ ์ธ์ง. ๋จ์ํ ๊ทธ ์์๊ฐ ์ ์์ ๋ชฉ์ , ๋ฐฉํฅ์ ๋ฐ๋ผ ๋ค๋ฅธ ๊ฒฝ์ฐ๋ก๋ง ์๊ฐํ์๋ค. ๋๋ ์ด ์ปค๋ฆฌํ๋ผ์ ๋ฌธ์ ์ ๋ํด ๋ณด๋ ๋์ด ์์๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ์ ์ ํ์
ํ์ง ๋ชปํ๊ณ ์์๋ค.
ํ์ง๋ง, ๋ฉํ ๋์ ๊ฒฝํ์๋ค. ๋์ ๊ฐ์ด ๋ชจ๋ฅด๋ ์์ ์ด ์์์ ๊ฒ์ด๊ณ ๊ทธ ๋ถ๋ถ์ ๋ฐฐ์ฐ๊ณ ๊ทธ ๋ฒฝ์ ๋์ด๊ฐ ์ฌ๋์ด๋ค. ์ค์ ๋ก ์ด๋ฌํ ๋ฌธ์ ๋ค์ ์ฌ๋ฌ๋ฒ ๋์ด์์ ์ค๋ฌด์์ ์ผ์ํ๊ณ ์๋ ์ฐ ์ฆ์ธ์ด๋ผ๋ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ ์ง๊ธ ๋์ ๋ฌธ์ ์ ๋ํด์ ๊ฐ์ฅ ์ ํํ ๊ดํตํด์ ๋ณผ ์ ์๋ ๋ถ์ด๋ค.
์ค์ค๋ก ๋ฌธ์ ์ ์ ๋ํ ๋ ๊น์ ๊ณ ๋ฏผ
[Java]36
ย ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ(OOP) - Spring ์ง์
์ง์ ๋ง์ฃผํ Java ๊ณต๋ถ ๋ฐฉ๋ฒ์ ๋ํ ๊ณ ๋ฏผ๊ณผ ์ ๋ฐฐ๋ก๋ถํฐ์ ๊นจ๋ฌ์ ํ๊ณ (WIL)

๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ 5๋ ์์น - S.O.L.I.D.
SOLID๋ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ํ๋ฉด์ ์ง์ผ์ผํ๋ 5๋ ์์น์ด ์๋ค. SOLID ์์น์ ์ฒ ์ ํ ์งํค๋ฉด ์๊ฐ์ด ์ง๋๋ ๋ณ๊ฒฝ์ด ์ฉ์ดํ๊ณ , ์ ์ง๋ณด์์ ํ์ฅ์ด ์ฌ์ด ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํ๋๋ฐ ๋์์ด ๋๋ ๊ฒ์ผ๋ก ์๋ ค์ ธ์๋ค.
1.
SRP(๋จ์ผ ์ฑ
์ ์์น)
2.
OCP(๊ฐ๋ฐฉ-ํ์ ์์น)
3.
LSP(๋ฆฌ์ค์ฝํ ์นํ ์์น)
4.
DIP(์์กด ์ญ์ ์์น)
5.
ISP(์ธํฐํ์ด์ค ๋ถ๋ฆฌ ์์น)
[Java]35
๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ(OOP) - 5๋ ์์น

Intro
๊ฐ์ฅ ์ค์ํ ๋ถ๋ถ์ ์ดํดํด์ผ ํ๋ค. ํ๋ฒ์ ์ดํด ํ ์๋ ์๋ ๋ถ๋ถ์ด๊ณ , ๊ฒฝํ์ด ํ์ํ๊ณ , ์ ๋ต์ด ์๋ ๋ถ๋ถ์ด๋ผ๊ณ ๋ค๋ค ์ค๋ช
ํ์ง๋ง ์ ๋ฐฐ๋ค์ ๋ชจ๋ ๊ฒฝํ์์ ๋น๋กฏํ ๊ทธ๋ค๋ง์ ํ์ด ์์ ๊ฒ์ด๋ผ ์๊ฐํ๋ค. ์ด๋ป๊ฒ๋ณด๋ฉด ๊ต์ก๋ค์ ๋ค์ผ๋ฉด์ ๊ฐ์ฅ ์ง์งํ๊ฒ ๊ฐ์๋ค์ ๋ณด๊ณ ์๊ธฐ๋ ํ๊ณ , ๋ฌด์ธ๊ฐ ์ด๋ ค์๋ณด๋ค ๊ธด์ฅ๊ฐ์ด ์๋ ๋ถ๋ถ์ด๋ค.
์ด๋ป๊ฒ๋ณด๋ฉด ๋ด๊ฐ Java์ ๋งค๋ ฅ์ ๋น ์ง ๊ฒ๋ ๊ฐ์ฒด ์งํฅ ์ธ์ด ํน์ฑ์ ์ด๋ฆด ์ ์๋ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ๋ฒ๋ก , ํจ๋ฌ๋ค์, ํจํด ์ค ํ๋์ธ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ(Object-Oriented Programming)์ ์ ์ด์ธ๋ฆฌ๊ธฐ ๋๋ฌธ์ด ์๋๊น?
๋ฌผ๋ก ๋ง์ ์ข
๋ฅ์ ๊ฐ์ฒด ์งํฅ ์ธ์ด๋ค์ด ์๋ค.
๊ฐ์ฒด ์งํฅ ์ธ์ด๋ผ ๋ถ๋ฆฌ์ฐ๋ ์ธ์ด ์ข
๋ฅ
๊ฐ์ฒด ์งํฅ ์ธ์ด๋ ๋ง์ง๋ง ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ํ์ง ์์ผ๋ฉด ๊ฐ์ฒด ์งํฅ ์ธ์ด๋ก์จ ์ถฉ๋ถํ ํ์ฉ์ ๋ชปํ๋ ๊ฒ ์๋๊น?
[Java]34
ย ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ(OOP) - ํน์ง (Concepts)
๋ฌธ์ ์ค๋ช
์ด๋ค ๋ฌธ์ฅ์ ๊ฐ ์ํ๋ฒณ์ ์ผ์ ํ ๊ฑฐ๋ฆฌ๋งํผ ๋ฐ์ด์ ๋ค๋ฅธ ์ํ๋ฒณ์ผ๋ก ๋ฐ๊พธ๋ ์ํธํ ๋ฐฉ์์ ์์ ์ํธ๋ผ๊ณ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด "AB"๋ 1๋งํผ ๋ฐ๋ฉด "BC"๊ฐ ๋๊ณ , 3๋งํผ ๋ฐ๋ฉด "DE"๊ฐ ๋ฉ๋๋ค. "z"๋ 1๋งํผ ๋ฐ๋ฉด "a"๊ฐ ๋ฉ๋๋ค. ๋ฌธ์์ด s์ ๊ฑฐ๋ฆฌ n์ ์
๋ ฅ๋ฐ์ s๋ฅผ n๋งํผ ๋ฏผ ์ํธ๋ฌธ์ ๋ง๋๋ ํจ์, solution์ ์์ฑํด ๋ณด์ธ์.
์ ํ ์กฐ๊ฑด
๊ณต๋ฐฑ์ ์๋ฌด๋ฆฌ ๋ฐ์ด๋ ๊ณต๋ฐฑ์
๋๋ค.
s๋ ์ํ๋ฒณ ์๋ฌธ์, ๋๋ฌธ์, ๊ณต๋ฐฑ์ผ๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
s์ ๊ธธ์ด๋ 8000์ดํ์
๋๋ค.
n์ 1 ์ด์, 25์ดํ์ธ ์์ฐ์์
๋๋ค.
์ด๋ฐ ๋ฌธ์ ๊ฐ ๋ํ๋ฌ๋ค. ๋๋ ๋ถ๋ช
ํ ์ด์ ์ ๋ฐฐ์ ๋ ์์คํค ์ฝ๋๊ฐ ๋ ์ฌ๋๊ณ , ๊ธฐ์ต์ด ๋จ์์๋ ๊ฒ์ โ65๋ผ๋ ๊ฒ์ด A๋ฅผ ๋ํ๋ธ๋ค.โ๋ผ๋ ๊ฒ์ ๊ธฐ์ตํ๊ณ ์์๋ค. ์กฐ๊ธ ๋ ์ ํํ ์ ๋ณด๋ฅผ ์ ๋ฆฌํด๋๊ธฐ ์ํด์ ์์คํค์ ๋ํ ๋ด์ฉ์ ๊ฒ์ํ๋ค.
์ด์ ๊ฒฝํํ๋ ํ๊ธ์ char[]์ ๋ค์ด๊ฐ์ง ์๋ ๋ฌธ์ ๊ฐ ์ด๊ฒ๊ณผ๋ ์ฐ๊ด์ด ์๋ค. char ํ์
์ผ๋ก ์ ํด์ง ์ ์๋ ๊ฒ๋ค์ ์๋ ์์คํค ์ฝ๋๋ก ๋์ฒด๋๋๊ฐ์ ๋ํ ๋ฌธ์ ์๋ค.
ASCIIย (Americanย Standardย Code forย Informationย Interchange, ๋ฏธ๊ตญ ์ ๋ณด ๊ตํ ํ์ค ๋ถํธ)
ํ๊ธ ์ธ์ฝ๋ฉ์ 2๋ฐ์ดํธ ์ด์์ ์จ์ผ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ์์คํค ์ฝ๋๋ฅผ ๊ฑด๋๋ฆด ์ ๋ฐ์ ์์๊ณ , ์ด์ฐฝ๊ธฐ์๋ย ๊ธ์ ๊นจ์งย ๋ฌธ์ ๊ฐ ์ข
์ข
๋ฐ์ํ์๋ค. ์ฝ๋ํ์ด์ง(CP949ย ๋ฑ)๋ฅผ ๋ง์ถฐ์ฃผ์ง ๋ชปํ๋ฉด ์ญ์ ๊ธ์ ๊นจ์ง์ด ๋ฐ์ํ๊ณ , ํด์ธ๊ฒ์์ ํ ๋ ํนํ ๊ทธ๋ฌํ๋ค.ย ์ ๋์ฝ๋๊ฐ ์ ์ ๋๋ฉด์ ๊ธ์ ๊นจ์ง์ ๋๋ ์ค ์์์ง๋ง ๋ฉํฐย ๋ฐ์ดํธ์ย ์๋์ย ๋ฌธ์ ๋ก ๊ธ์๋ ๋ ๊นจ์ก๊ณ , ASCII๊ฐ ํธํ๋๋ย UTF-8์ด ๋๋ฆฌ ์ฌ์ฉ๋๋ฉด์ ๊ธ์ ๊นจ์ง์ ๋ง์ ๋ด๋ฆฌ๊ฒ ๋๋ค.
ํํ ์ด ๋ชฉ๋ก์ ์๋ ๋ฌธ์๋ค์ย ์์ซ์๋ผ ๋ถ๋ฅธ๋ค. ์ข์ ์๋ฏธ๋ก๋ ์ซ์ 10๊ฐ(0~9, 0x30 ~ 0x39), ๋๋ฌธ์ 26๊ฐ(A~Z, 0x41 ~ 0x5A), ์๋ฌธ์ 26๊ฐ(a~z, 0x61 ~ 0x7A) ํด์ ์ด 62๊ฐ์ ๋ฌธ์๋ฅผ ์์ซ์๋ผ ๋ถ๋ฅด๊ณ , ๋์ ์๋ฏธ๋ก๋ ์ด ๋ชฉ๋ก์ ๋ฌธ์๋ค์ ๋ชจ๋ ํฌ๊ดํ๋ค.
๋๋ ์กฐ๊ธ ์ธ์๋ ์ข์๋งํ ๋ถ๋ถ์ ์๊ฐํ๋ค.
[Java]33 ์์ ์ํธ ๋ฌธ์ ์์์ ๋ฌธ์, ์์คํค (ASCII), ์์คํค ์ฝ๋ ๊ทธ๋ฆฌ๊ณ ์ ๋์ฝ๋ UTF-8?
1์ฃผ์ฐจ๋ Java์ ๊ธฐ์ด ๋ฌธ๋ฒ์ ์ผ์ถ Algorithm ๊ธฐ์ด ๋ฌธ์ ๋ฅผ ๋ค๋ฃฐ ์ ๋ ๋ฒ์๊น์ง ๋ณต์ตํ๊ณ , ํ์ฌ 2์ฃผ์ฐจ๋ฅผ ์งํํ๋ฉฐ Algorithm ๊ธฐ์ด ๋ฌธ์ ๋ค์ ํ์ด๋๊ฐ๊ณ ์๋ ๋จ๊ณ์ด๋ค.
WIL์ ์ง์ ์ ์ผ๋ก ๊ธฐ์ ์ ์ธ ๋ด์ฉ(์ฝ๋) ๋ฑ์ ๋ด์ง ์์ผ๋ คํ๋ค. ๋๋ ์ด ์ฃผ๊ฐ ํ๊ณ ๋ฅผ ํตํด์ ๋์ ์ ์ ๋ฌด์ฅ ์ํ ๋ฑ์ ๋ค์ ์ ๊ฒํ๊ณ ๋๊ธฐ๋ฅผ ๋ถ์ฌํ๋ฉฐ, ํนํ ๋ฐฐ์ฐ๋ฉด์ ๋ถ์กฑํ๋ค ์๊ฐ ๋ ๋ถ๋ถ, ๋์์ด ๋์๋ ๋ถ๋ถ, ๊ทผ์์ ์ฃผ๊ฐ ๊ณํ์ ๋ด๋๋ฐ ๋ชฉ์ ์ ๋๋ค. ๋จ์ํ ๋ฌธ๋ฒ์ ๋์ดํ๋ ๊ฒ์ TIL์์๋ ์ถฉ๋ถํ๋ค ์๊ฐ๋์๋ค.
ํ ์ฃผ๋ฅผ ๋ณด๋ด๋ฉด์ ๋๋ ์ ?
Algorithm์ ํ์ด๋ณด๋ฉด์ ๋๋ผ๋ ๊ฒ์ด์ง๋ง ์ ๋ฒ ๋ฌ ์ ํ ๊ณผ์ ์ ๋ฌผ๋ก ์ฌ์ ์คํฐ๋๊น์ง ์ฐธ์ฌํ ๊ฒ์ด ํฐ ๋์์ด ๋๊ณ ์๋ค. ํ์ง๋ง ๋ฐฐ์ธ ์๋ก ๋ ํฐ ๋ฌธ์ ์ ๊ณผ ์๋ฌธ๊ณผ ๋ฐฉ๋ํ Java์ ๋ฌธ๋ฒ์ ๋ด๊ฐ ์๋ ๋ฒ์๋ ์์ง๋ ์ด๋ผํ๋ค.
ํ์ง๋ง ์ค์ํ ๊ฒ์, โ์ด์ ๋ณด๋ค ๋์์ง ๋โ๋ฅผ ๋งค์ผ ์์นจ๋ง๋ค ๋ง์ฃผ์น๊ณ ์๋ค. ์ด๊ฒ์ด 100์ผ, 365์ผ, 1๋
, 2๋
์์ด๋ฉด ๋๋ ์ด๋์ ๋ ํ ์ค ์๋ ๊ฐ๋ฐ์๊ฐ ๋ ์ ์์ง ์์๊น? ๋ผ๋ ๊ฟ์ด ์๊ธฐ๊ณ Java๋ผ๋ ์ธ์ด๋ ๋์๊ฒ ์น๋ถ์์ ์๊ทน์ํจ๋ค.
๋๋ ๋ชฐ์
ํ๊ณ ์๋๊ฐ?
์ด์ ๋ ๋ด ์์ผ์ด๋ค. ํ์ง๋ง ๋๋ ๊ทธ๋ฅ 18์๊ฐ ๊ณต๋ถ๋ฅผ ํ๋ค. ์ด๋ ๊ฐ์ง๋ ์์๊ณ , ๊ทธ์ ์ฌ๋ฌด์ค ๋๋ฃ๋ค๊ณผ ์นํจ์ด๋ ํ๋ ์์ผ๋จน๊ณ ๋๋ฌ๋ค. ๋๋ ๊ทธ ์ด๋ค ํ๋ณต๋ณด๋ค ์ง๊ธ ์ด ์ธ์ด๋ฅผ ํ๋ํ๋ ๊ฒ์ด ํ๋ณต ๊ทธ ์์ฒด์ด๋ค. ์ธ์ ๋ถํด๊ฐ ๋์๊ฒ ์์ผ์ ๋ด๊ฐ ์ถํ๋ฐ๋ ๋ ์ด ์๋๋ผ ์ด๋จธ๋์๊ฒ ์๋ถ๋ฅผ ์ ํ๋ ๋ ์ด๋์๋ค. ์ฌ์ ์คํฐ๋ ๊ธฐ๊ฐ์๋ ํ ๋ฌ ๋๊ฒ ๊ณต๋ถํ๋๋ผ ๋ณธ๊ฐ์ ์ ์ฐพ์๊ฐ์ง ๋ชปํ๋ค. ์์ผ์ ๋ง์ ์ด๋จธ๋๋ฅผ ์ฐพ์๊ฐ๋ค. ์ด๋จธ๋๋ ํ๋ช
ํ ์ฌ๋์ด๋ค. ์์์ ์ด๋จธ๋๋ฅผ ๋ ๋์ ์ธ์์ ์ ๋ฐฐ๋ก์จ๋ ๋ง์ ๊ตํ์ ๋ฐ๋๋ค. ์ด๋ฆด ๋ ์ด๋ฅธ๋ค์ ๋ง์ด ์์๋ฆฌ์ฒ๋ผ ๋ค๋ ธ์ง๋ง ์ด์ ๋๋ ๊ทธ๊ฒ๋ค์ ์ดํดํ๊ธฐ ์์ํ๋ค. ๋์ ์ต๊ทผ ๊ณต๋ถํํฉ๊ณผ ๋ด๊ฐ ์ผ๋ง๋ ์ด์ ์ ์ผ๋ก ์ฐธ์ฌํ๊ณ ์๋์ง ์ด๋จธ๋์๊ฒ ์๋ ธ๋ค. ์ด๋จธ๋๋ ํ์ ์์์๊ฒ ํฐ ๊ฒ์ ๋ฐ๋ผ์ง ์์๋ค. ํ์ง๋ง ํญ์ ๋ฐ์ ์ ์ธ ์๊ฐ์ ํ ๊ฒ, ๋๋์ ์ผ๋ก๋ ์ฌ๋ฐ๋ฅธ ๊ฐ์น๊ด์ ๊ฐ์ง๋ ๊ฒ, ๋ณธ์ธ์ ํ๋จ์ ๋ฏฟ๊ณ ์ค์ฒํ๋ ๊ฒ, ๊พธ์คํ ๊ด๋ฆฌํ๋ ๊ฒ์ ํญ์ ์ค์์ํ์ ๋ค. ์๊ฐํด๋ณด๋ฉด ๋๋ ๋ชจ๋ ๋ถ๋ถ์์ ๋ง์กฑ์ํค์ง ๋ชปํ์ ์๋ ์๋ค. ๋ํ ์คํจํ๊ฑฐ๋ ์ข์ ํ๋ฉด ๋๋ง์ ๋ถํ ์ ๋๋ก ์๊ฐํ์ง๋ง, ์ด๋จธ๋๋ ๊ทธ๊ฒ์ ๋ฌต๋ฌตํ๊ฒ ์ง์ผ๋ณด๊ณ ์๊ณ ํญ์ ์์ํ์๋ค. ์ด์ ์ฆ๋ช
ํด์ผ ํ๋ ๋์ด์ด๊ณ ์ค๋ง ์ํค์ง ์์ผ๋ ค๋ ๋
ธ๋ ฅํด์ผ ํ๋ค. ๋ด๊ฐ ์ด๋ ๊ฒ ์ด์ ์ ์ผ๋ก ๊ณต๋ถ์ ๋ชฐ์
ํ๋ ๋๊ธฐ ์ค์ ํ๋์ด๊ธฐ๋ ํ๋ค. ํจ๋๋ ๋ณ๊ฑฐ ์๋ค. ๋ด๊ฐ ์ ๋๋ฉด ๋๊ณ , ์ ๋๋ ค๋ฉด ๋ด๊ฐ ์ด์ฌํ ์ด๊ณ ์ ๋
ธ๋ ฅํ๋ฉด ๋๋ค๊ณ ์๊ฐํ๋ค. ์ง๊ธ๋ ์ฌ๋ฌด์ค์ ๋ค์ ์์ ๊ธ์ ์ฐ๊ณ ์๋ ๊ฒ์ด ๋ค์์ฃผ๋ฅผ ์ํ ๊ณํ๊ณผ ์ ๋ฒ์ฃผ์ ํ๊ณ ๋ฅผ ์ํจ์ด๋ค.
ํ์ ์ค์์ฑ : ํ์๋ค๊ฐ์ ๋๊ธฐ๋ถ์ฌ, ์ปค๋ฎค๋์ผ์ด์
์ ํตํ ๋ฐฐ์๊ณผ ๊ฐ๋ฅด์นจ
์ด๋๋๋ณด๋ค ์๋ก ์์ํ๊ณ ์ผ์ฐ์ผ์ฐํ๋ ๋ถ์๊ธฐ์ ํ์๋ค์ ๋ง๋ฌ๋ค. ์ด๊ฒ๋ ํ์ด์ด๋ค. ๋ญ๊ฐ ์๋ก ์ง์ฌ์ด๋ฆฐ ํ๋ก๊ทธ๋๋ฐ์ ๋ํ ๊ฟ์ ๊ณต์ ํ๊ณ ์๋ค. ๋ชจ๋๊ฐ ์๋๊ธฐ๋ฅผ ๋ฐ๋ผ๊ณ ์๋ค. ๋ชจ๋ ์ด์ฌํ ํ๊ณ ์๊ณ ์๋ก๊ฐ ์๋ก์๊ฒ ํฐ ๋๊ธฐ๋ฅผ ๋ถ์ฌํด์ฃผ๊ณ ์๋ค. ๋๋ ์ด๋ฐ ์ด์ ์ ์ธ ์ฌ๋๋ค์๊ฒ ๋ด๊ฐ ๊ณต์ ํด์ฃผ๊ณ ์ถ์ ๋ชจ๋ ๊ฒฝํ๋ค์ ๊ณต์ ํ๊ณ ๋ชจ๋ ์ฑ๊ณต์ผ๋ก ํจ๊ป๊ฐ๊ณ ์ถ๋ค๋ ์๊ฐ์ด ๋ค์๋ค. ๋ฐ๋๋ก ๊ทธ๋ค์๊ฒ๋ ๋๋ ์ค๋ ฅ์ ๋ถ์กฑํ ์ง๋ผ๋ ์ต์ํ ํญ์ ๊พธ์คํ ๋
ธ๋ ฅํ๊ณ ๊บพ์ด์ง ์๋ ์ฌ๋์ด๋ผ๋ ๋ชจ์ต์ผ๋ก ๊ธฐ์ต์ ๋จ๊ธฐ๊ณ ์ถ์๋ค. ๊ทธ๋ค์๊ฒ ์ด๋ ค์์ด ๋ฅ์ณค์๋ ์ด์ฌํ ํ๋ ๋์ ๋ชจ์ต์ ํ๋ฒ์ด๋ผ๋ ์๊ฐํด๋ด๊ณ , ๋ณธ์ธ๋ค๋ ์ข์ ํ์ง ๋ง๊ณ ์ผ์ด ๋ ์ ์๋ ๋ณธ๋ณด๊ธฐ๊ฐ ๋๋ ์ฑ์ํ ์ฌ๋์ผ๋ก์จ์ ๋ชจ์ต์ ๋ณด์ฌ์ฃผ๊ณ ์ถ๋ค. ๊ทธ๋ฌ๊ธฐ ์ํด์๋ ๋๋ ์ง๊ธ๋ณด๋ค ๋ ๊ฐํนํ๊ฒ ๋๋ฅผ ๊ดด๋กญํ๊ณ ๋ฐ์ ํด์ผ ํ๋ค. ์ธ์ ํตํ์ด ์ด ์ ๋๋ก ์ด๋ค ๊ธฐ์ ์ ๊ฐ๋งํ๋ ์๊ตฌ๊ฐ ์ปธ๋์ ์ด ์์๊ณ , ๊ทธ ๋ชฉํ๋ฅผ ์ํด ์ง์ฌ์ผ๋ก ๋ชฐ์
ํ๊ณ ์๋ค. ๊ทธ๋ฆฌ๊ณ ๋ชฐ์
๋ ๋ด๊ฐ ๋๋ฅผ ๊ด์ฐฐํ๋ฉด์ ๋งค์ผ ์ด๊ฒ์ด ์ ์ฑ์ด ๋ง๋ค๋ผ๋ ํ์ ์ด ๋์ฑ ๋จ๋จํด์ง๊ณ ์๋ค. ์์ง๋ ์์ ๋จ๊ณ์ด๋ค. ๊ธฐ๋ณธ๊ธฐ์ ์ถฉ์คํด์ผ ํ๋ค.
ํ์๋ค๊ณผ IntelliJ์ ํ์ด ํ๋ก๊ทธ๋๋ฐ ์๋น์ค์ธ โCode With Meโ๋ผ๋ ๊ธฐ๋ฅ์ ํตํด์ ๊ณต์ ๋ ํ์ผ ์์ฒด๋ฅผ ์๋ก ์๋
ผํ๋ฉด์ ์์ฑ ํ ์ ์์๋ค. ์๊ฐ๋ณด๋ค ๋ค๋ฅธ ์ฌ๋๊ณผ ํจ๊ผ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์ดํด๋ณธ๋ค๋ ๊ฒ ๋๋ฌธ์ โ๊ฐ์์ฑโ๊ณผ ์ ํํ ํํ์ ์ ๊ฒฝ์จ์ผ ๊ฒ ๋ค๊ณ ์๊ฐํ๋ค. ๋ํ ๋๊ตฐ๊ฐ๋ฅผ ๊ฐ๋ฅด์น๋ ๊ฒ์ ๋๋ ์ด์ ์ ์ด๋ค. ํ์ง๋ง ์ง์์ด ๋ถ์กฑํ ๊ฒ์ ๋ํ ๋ต๋ตํจ์ด ์๋ค. ์๋ ค์ฃผ๊ณ ์ถ์ ๊ฒ์ ๋ง์๋ฐ, ๋ด๊ฐ ์์ง ์ถฉ๋ถํ์ง ์๋ค. ์ง์์ ๊ณต์ ํด์ผ ํ๋๋ฐ ๋ด ์ ๋ฌธ์ฑ์ด ๋จ์ด์ง๋ค. ๋ ์ด์ฌํ ๊ณต๋ถํด์ ๋ ์ฌ์ด ๋ง๋ก ์ค๋ช
ํ ์ค๋ ์์์ผ ํ๋ค. ๋จ์ด ํ๋ ํ๋ ์๋ฏธ๋ฅผ ์ ํํ๊ฒ ํํ ํ ์ค ์์์ผ ํ๋๋ฐ ์์ง ๋ถ์กฑํ๋ค. ํ์ง๋ง ๋งค์ฃผ ์ง๋ ๋ ๋ง๋ค ๋ช๊ฐ์ง์ฉ ๊ต์ ๋๊ณ ์๋ ๊ฒ์ ๋๋๋ค. ํนํ ํ๋ฌ ์ ๋ถํฐ ์ฌ๋ ธ๋ ๋ธ๋ก๊ทธ ๊ธ๋ค์ ์ด์ ํด์ค๋ฉด์, ์์ ์ ์ด ๊ธ๋ค์ ๋ค์ ์ ์ฒด์ ์ผ๋ก ์ฝ๊ฒ ๋์๋ค. ๊ทธ๋๋ง๋ค ์ ์ ๊ฑด ๋ด๊ฐ ์ผ์ง๋ง ์๋ชป๋ ํํ์ด๋ค๋ผ๊ณ ํ๋จ ํ ์ ์๊ฒ ๋์๋ค. ์์ง๋ ๋ง์ด ํ๋ฆฌ๊ณ ์์ ๊ฒ์ด๋ค. ํ์ง๋ง ๋ ์ผ์ฃผ์ผ์ด ์ง๋๋ฉด ๋ ์ง๋ ์ผ์ฃผ์ผ์ ํ๋ฆฐ ๊ฒ๋ค์ ๊ต์ ํด ๋๊ฐ ๊ฒ์ด๋ค. ์ด๋ ๊ฒ ๊ณ์ ํ๋ค ๋ณด๋ฉด ์ ์ ์์ฑ๋๊ฐ ๋์์ง ๊ฒ์ด๋ผ๊ณ ๋ฏฟ๋๋ค.
[Java]32 ๊ธฐ์ด๋ฌธ๋ฒ - Java ๊ธฐ์ด ๋ฌธ๋ฒ๊ณผ Algorithm ๊ธฐ์ด ์ฃผ์ฐจ ํ๊ณ (WIL)

์ธ์(Argument)์ ๋งค๊ฐ๋ณ์(Parameter)๋ Java๋ง๊ณ ๋ ํ๋ก๊ทธ๋๋ฐ์์ ๋งค์ฐ ๋ง์ด ์ฌ์ฉ๋๋ค. ๋ฌด์ธ๊ฐ ๊ธฐ๋ฅ์ ์ค๋ช
ํ ๋๋, ๋ฉ์๋๋ฅผ ๋ค๋ฃจ๊ธฐ ๋๋ฌธ์ ๋ฉ์๋์ ์ ์ธ๋ถ์์ ํํ๊ฒ ๋ณผ ์ ์๋ค.
๋ค์๊ณผ ๊ฐ์ ํ๊ท ์ ๋ด๋ ๋ฉ์๋ avg()์ ์คํ๋ถ์ธ ๋ฉ์ธ ๋ฉ์๋ main() ์ด ์๋ค.
๋ ๋ํ ๋๊ฐ๊ฐ ๊ฐ์ ๊ฒ์ ๊ฐ๋ฅดํค๊ณ ์๋ค๋ ๋จ์ํ ์๊ฐ์ ๋๋ถ๋ถ ๋งค๊ฐ๋ณ์๋ผ๊ณ ์๋ชป ๋ช
์นญํ๋ฉด์ ์ฌ์ฉํ์ง๋ง ์ข ๋ ์ ํํ๊ฒ ํํํ๊ธฐ ์ํด์ ์ฐจ์ด์ ์ ์ฐพ์๋ณด์๋ค.
์ธ์(Argument)๋?
์ ์ฝ๋์์
System.out.println(avg(6,3))์์ 6, 3์ ์ธ์๋ผ๊ณ ํ ์ ์๋ค.
์ด ๋ง์ ๋ฉ์๋์ ์ด๋ค ๊ฐ์ ๋ฃ๊ณ ํธ์ถ ํ๋ ํ์ ๋ฅผ ํ ๋ ๊ทธ ๊ฐ์ ์ธ์(Argument)๋ผ๊ณ ํ๋ค.
[Java]31 ๊ธฐ์ด๋ฌธ๋ฒ - ์ธ์(Argument)์ ๋งค๊ฐ๋ณ์(Parameter)์ ์ฐจ์ด
Load more