Java์ ๋๋ค ํํ์ ํ์ต ์
์ถ์ฒ :
Medium ์ด๋ฒ ๊ธ์์๋ ์๋ฐ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๊ธฐ์ด๊ฐ ๋๋ ๋๋ค ํํ์์ ๋ํด ์ดํด๋ณด๊ฒ ์ต๋๋ค.
๋๋ค ํํ์ ๊ตฌ๋ฌธ
๋๋ค ์์ ๊ตฌ๋ฌธ์ ์ง๊ด์ ์ด๊ณ ์ดํดํ๊ธฐ ์ฝ๊ณ ์ฌ์ฉํ๊ธฐ ์ฝ์ต๋๋ค. ๋๋ค ์์ ๋ค์์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
- ์
๋ ฅ ๋งค๊ฐ๋ณ์
- ์ฐ์ฐ์ ํ์ดํ
- ํํ์/๋ฌธ ๋ธ๋ก
์ผ๋ฐ์ ์ธ ํ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
<input-params> -> <function-code>
๋๋ค ํํ์์ ์
๋๋ค ํํ์์ ์์ ๋ฅผ ํตํด ๊ฐ์ฅ ์ ์ดํด๋๋ฏ๋ก ๊ทธ ์ค ์ผ๋ถ๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
1. ์
๋ ฅ์ ๋ฐ์๋ค์ด์ง ์๊ณ ์ถ๋ ฅ์ ๋ฐํํ์ง ์์ต๋๋ค.
๊ฐ๋จํ ๋๋ค ์์ ์
๋ ฅ์ ๋ฐ์ง ์๊ณ ์ถ๋ ฅ์ ๋ฐํํ์ง ์์ต๋๋ค. ๋ง ๊ทธ๋๋ก ์ปจํ
์คํธ ์์ด ์คํ๋๋ ์ฝ๋ ๋ธ๋ก์ผ ๋ฟ์
๋๋ค.
() -> System.out.println("Here I am!");
์
๋ ฅ ๋งค๊ฐ๋ณ์ ์์น์ ์์ ๋ถ๋ถ์
()๋ฅผ ์ง์ ํ๋ฉด ๋งค๊ฐ๋ณ์๊ฐ ์ ๋ฌ๋์ง ์์์ ์๋ฏธํฉ๋๋ค(๋งค๊ฐ๋ณ์๊ฐ ์๋ ๋ฉ์๋ ๋ค์ ์ค๋ ๋น ๊ดํธ์ ๊ฒฝ์ฐ).
2. ๋จ์ผ ์
๋ ฅ์ ๋ฐ์๋ค์ด๊ณ ์ถ๋ ฅ์ ๋ฐํํ์ง ์์ต๋๋ค.
๋๋ค ํํ์์ด ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ๋๋ก ํ๋ ค๋ฉด ์ด๋ฅผ ์
๋ ฅ ๋งค๊ฐ๋ณ์ ์์น์ ๋ฐฐ์นํฉ๋๋ค.
name -> System.out.println("Here you are too, " + name + "!");
๋ฉ๋ชจ : ์
๋ ฅ ๋งค๊ฐ๋ณ์๊ฐ ํ๋์ธ ๊ฒฝ์ฐ ๊ดํธ๋ฅผ ์๋ตํ ์ ์์ต๋๋ค. (์ด๋ฆ)์ ์ง์ ํ ์๋ ์์ต๋๋ค. ์ด๋ ์์ ํ ํ์ฉ๋ฉ๋๋ค.
3. ์ฌ๋ฌ ์
๋ ฅ์ ๋ฐ์๋ค์ด๊ณ ์ถ๋ ฅ์ ๋ฐํํ์ง ์์ต๋๋ค.
์ฌ๋ฌ ์
๋ ฅ ๋งค๊ฐ ๋ณ์๋ฅผ ๋๋ค ์์ ์ ๋ฌํ ๋ ๋ค์์ ์ํํด์ผ ํฉ๋๋ค.
- ๋งค๊ฐ๋ณ์๋ฅผ ๊ดํธ๋ก ๋ฌถ์ต๋๋ค.
- ์ผํ๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ๋ถํ์ธ์.
(name, food) -> System.out.println("So " + name + " enjoys eating " + food + "... interesting!");
4. ์ฝ๋ ์น์
์ ์ฌ๋ฌ ๋ฌธ์ด ํฌํจ๋์ด ์์ต๋๋ค.
ํ ์ค ๋ฌธ์ ๋๋ค ์์ ์ ์ฅํ๋ ๊ฒ์ ์ข์ ์ต๊ด์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. ํ์ง๋ง ์ฌ๋ฌ ์ค์ ์ฌ์ฉํ ์๋ ์์ต๋๋ค.
() -> {
System.out.println("The owl and the pussycat went to sea");
System.out.println("in a beautiful pea green boat");
}
5. ๋ฐํ ์ ํ์ ์ง์ ๋์ง ์์ต๋๋ค.
์๋ค์ํผ ๋๋ค ์์ ์ ์ํ ๋ ๋ฐํ ์ ํ์ด ์ง์ ๋์ง ์์ต๋๋ค. ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
() -> System.out.println("I don't return anything!")
๊ทธ๋ฆฌ๊ณ ํ๋ ๋:
() -> "I return this String!"
๋ ์ฝ๋ ์์ ๋ ๊ฑฐ์ ๋์ผํ์ง๋ง ๋ ๋ฒ์งธ ๋๋ค๋ ๋ฌธ์์ด์ ๋ฐํํฉ๋๋ค. ์ฌ์ฉํ ๋ ์ด ์ ์ ๋ช
์ฌํ์๊ธฐ ๋ฐ๋๋๋ค. ๋ฌผ๋ก ์ปดํ์ผ๋ฌ๋ ํจ์ ์ค๋ช
์์ ์กฐ๊ฑด๋ถ ์ฌ์ฉ์ ํตํด ์ด๋ค ๊ฐ์ ์ฐจ์ด์ ์ ์ดํดํฉ๋๋ค.
6. ๊ฐ๋ฅํ ๊ฒฝ์ฐ ์ ํ ์ถ๋ก ์ด ์๋์ผ๋ก ์ ์ฉ๋ฉ๋๋ค.
์ ํ์ ๊ฒฐ์ ํ๊ธฐ ์ํด ์ปดํ์ผ๋ฌ๋ ์ ํ ์ถ๋ก ์ ์ฌ์ฉํฉ๋๋ค. ์ด๋ฅผ ์ํด ๋๋ค ํํ์์ ์คํ ์ปจํ
์คํธ๋ฅผ ์ดํด๋ด
๋๋ค. ๊ฐ๋ฐ์์๊ฒ ์ด๋ ํน์ ์ ํ์ผ๋ก์ ์บ์คํ
์ ๋ํด ๊ฑฑ์ ํ ํ์๊ฐ ์์์ ์๋ฏธํฉ๋๋ค.
7. ํจ์ ์ค๋ช
ํ๊ธฐ๋ฒ
๋๋ค ํํ์์ด ์ด๋ค ์ ํ์ ํ ๋น๋ ์ ์๋์ง ์๊ฐํ ๋ ํจ์ ์ค๋ช
์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋งค์ฐ ์ ์ฉํฉ๋๋ค. ํจ์ ํธ๋ค์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋๋ค ์(๋๋ ๋ฉ์๋)์ด ์ ๊ณตํ๋ ๋ฉ์๋ ์๋ช
์
๋๋ค. ๊ตฌ๋ฌธ์ ์ฝ๋ ์น์
๋์ ์ถ๋ ฅ ์ ํ ์น์
์ด ์๋ค๋ ์ ์ ์ ์ธํ๋ฉด ๋๋ค ์๊ณผ ๊ฑฐ์ ๋์ผํฉ๋๋ค. ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
<input-parameter-types> -> <output-parameter-type>
ํจ์ ์ค๋ช
์์ ์
๋ค์์ ํจ์ ์ค๋ช
์์ ๋ช ๊ฐ์ง ์์
๋๋ค.
() -> () ์
๋ ฅ ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๊ฐ์ ๋ฐํํ์ง ์๋ ๋ฉ์๋์
๋๋ค.
(String) -> () ์
๋ ฅ ๋งค๊ฐ๋ณ์๋ฅผ ๋ฐ์๋ค์ด๊ณ ๊ฐ์ ๋ฐํํ์ง ์๋ ๋ฉ์๋์
๋๋ค.
() -> (int, float) ์
๋ ฅ ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ์ง ์๊ณ int ๋ฐ
float(int[]) -> ๋ฅผ ๋ฐํํ๋ ๋ฉ์๋์
๋๋ค .
(SortedMap<Character, Integer>) int ๋ฐฐ์ด์ ๊ฐ์ ธ์ Character ์์
Integer ๋ก
SortedMap์ ๋ฐํํ๋ ๋ฉ์๋์
๋๋ค . ํจ์ ์ค๋ช
์๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค ์์ ์ฌ์ฉํ ์ ์๋ ๋์ ์ ํ์ ๊ณ ๋ คํ ๋ ์ ํ ํธํ์ฑ์ ๋ ์ฝ๊ฒ ํ๊ฐํ ์ ์์ต๋๋ค.
๊ฒฐ๋ก
๋ณด์๋ค์ํผ ๋๋ค ํํ์์ ๋์์ ์บก์ํํ๋ ๊น๋ํ๊ณ ๊ฐ๋จํ ๋ฐฉ๋ฒ์
๋๋ค. ์ด๋ JDK 8 ๋ฆด๋ฆฌ์ค์ ํจ๊ป Java์ ๋์
๋ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์์ ๊ธฐ์ด ์ค ํ๋์
๋๋ค.
IntelliJ IDEA์ ๊ฐ์ฅ ๊ณผ์ํ๊ฐ๋ 7๊ฐ์ง ๊ธฐ๋ฅ
์ถ์ฒ:
๋ ๋์ ํ๋ก๊ทธ๋๋ฐ ๋ฏฟ๊ธฐ ์ด๋ ต๊ฒ ์ง๋ง, ์๋
์ด ์ง๋ ์ง๊ธ๋ IntelliJ IDEA์ ์ด๋ฌํ ๋ฐ์ด๋ ๊ธฐ๋ฅ์ ๋ชจ๋ฅด๋ ์ฌ๋๋ค์ ๋ง๋ฉ๋๋ค.
1.๋ฌด์์ด๋ ์ฐพ์๋ณด์ธ์
๋ชจ๋ ํค ์กฐํฉ์ ๊ธฐ์ตํ๊ณ IntelliJ IDEA๊ฐ ์ํํ ์ ์๋ ๋ชจ๋ ๊ธฐ๋ฅ์ ์ถ์ ํ๋ ๊ฒ์ ๋งค์ฐ ์ด๋ ต์ต๋๋ค. ์ด๊ฒ์ด ์ ๊ฐ IntelliJ IDEA ๋ด์์ ๊ฒ์์ ์์ฃผ ์ฌ์ฉํ๋ ์ด์ ์
๋๋ค. ์ด๋ฅผ ํตํด ํ์ํ ๋ฉ๋ด ํญ๋ชฉ, ๋๊ตฌ, ์ค์ ์ ๋ฌผ๋ก ํ์ผ๊น์ง ํ ๊ณณ์์ ์ฐพ์ ์ ์์ต๋๋ค.
2. ๋น์ ์ด ์ด๋์ ์๋์ง ์์๋ผ
์ด ๊ธฐ๋ฅ์ ์ฐพ๊ธฐ ์ ์๋ "์ด๋ฆฐ ํ์ผ ์ ํ" ๋ฒํผ์ ์ฌ์ฉํ์ฌ ํ์ฌ ํธ์ง ์ค์ธ ํ์ผ์ ํ๋ก์ ํธ ํธ๋ฆฌ์ ํ์ํ์ต๋๋ค.
์ด์ IntelliJ IDEA๊ฐ ์ด ์์
์ ์ํํฉ๋๋ค. ์ด๋ ๊ธฐ๋ณธ ์ต์
์ด ์๋๋ฏ๋ก ์ ํ๋ก์ ํธ๋ ๊ธฐ์กด ํ๋ก์ ํธ๋ง๋ค ์ค์ ํด์ผ ํฉ๋๋ค.
3. SQL ์ต์ ํ
IDE์ ๊ธฐ๋ณธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๋ฌ๊ทธ์ธ์ด ๋จ์ํ SQL ์คํ๊ธฐ ๊ทธ ์ด์์ด๋ผ๋ ๊ฒ์ ์๊ณ ๊ณ์
จ์ต๋๊น? ์ง์์ฑ ๊ณ์ธต(I/O)์ด ํญ์ ์ ํ๋ฆฌ์ผ์ด์
์์ ๊ฐ์ฅ ๋๋ฆฐ ๋ถ๋ถ์ด๋ผ๋ ์ฌ์ค์ ๊ณ ๋ คํ์ฌ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์์
ํ ๋ ํญ์ SQL ์ฟผ๋ฆฌ์ ์คํ ๊ณํ์ด ์ฌ๋ฐ๋ฅธ์ง ํ์ธํฉ๋๋ค.
4. ์ฌ๋ฌ ์ค ํธ์ง
์ด์ ์ Sublime Text Editor์์ ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํด ๋ณธ ์ ์ด ์์ ๊ฒ์
๋๋ค.
5. ๋ค๋ก/์์ผ๋ก ์ด๋
์ค์ ๋ก ์ ๋ ๋ค๋ก๊ฐ๊ธฐ๋ ์์ผ๋ก๊ฐ๊ธฐ ๋ฒํผ์ ๋๋ฌ ์ด์ ์ ์๋ ๊ณณ์ผ๋ก ๋์๊ฐ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
๋ค๋ก/์์ผ๋ก ์ด๋: โฅโ+์ผ์ชฝ/์ค๋ฅธ์ชฝ ํ์ดํ(Win/Linux์ ๊ฒฝ์ฐ Ctrl+Alt+์ผ์ชฝ/์ค๋ฅธ์ชฝ ํ์ดํ). ์ต๊ทผ ํ์ผ์ ์ด๋ ค๋ฉด โE(Win/Linux์ ๊ฒฝ์ฐ Ctrl+E)๋ฅผ ๋๋ฅด์ธ์.
6. ๋ถ๋งํฌ
์ธ์ ๋ ์ง ๋น ๋ฅด๊ฒ ์ฐธ์กฐํ ์ ์๋๋ก ์ฝ๋์ ์ค์ํ ๋ถ๋ถ์ ๋ถ๋งํฌ์ ์ถ๊ฐํฉ๋๋ค.
๋ถ๋งํฌ๋ก ์ด๋ํ๋ ค๋ฉด โ+<์ซ์>(Win/Linux์ ๊ฒฝ์ฐ Ctrl+<์ซ์>)๋ฅผ ๋๋ฅด์ธ์. ํ ๋ฒ์ 3๊ฐ ์ด์์ ๋ถ๋งํฌ๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค๊ณ ๋ฐ๋ก ๋ง์๋๋ฆฌ๊ฒ ์ต๋๋ค. ๊ทธ๋ฌ๋ฉด ๋ถ๋งํฌ์ ์ฉ๋๋ฅผ ๊ธฐ์ตํ๊ธฐ๊ฐ ์ด๋ ค์์ง๊ธฐ ๋๋ฌธ์
๋๋ค.
7. ๋ชจ๋ ๊ฒ์ ์ํ ํ๋์ ํธ์ง๊ธฐ
์ ๋ Visual Studio Code ๋๋ Sublime๊ณผ ๊ฐ์ ๋ค๋ฅธ ํ
์คํธ ํธ์ง๊ธฐ๋ฅผ ์ด์ด์ ์ฝ๋ ์ผ๋ถ, JSON, XML์ ์ ์ฅํ ๋ค์ ์ฐ๊ฒฐํ๊ณค ํ์ต๋๋ค. ํ์ง๋ง ์ด๋ ์ฝ๋๋ฒ ์ด์ค(ํ๋ก์ ํธ)์ ์ผ๋ถ๊ฐ ์๋๋ฉฐ IntelliJ IDEA๋ ์ด์ ๊ฐ์ ๊ฒ์ ์์ฑํ๊ฑฐ๋ ํธ์งํ๋ ค๊ณ ํ ๋ ์ด๋ฅผ ๋ถ๋ช
ํ ์๊ธฐ์์ผ ์ค๋๋ค. ๊ทธ๋ฌ๋ค๊ฐ ๋๋ฃ ์ค ํ ๋ช
์ด Snippets์ ์ฌ์ฉํ๋ ๊ฒ์ ๋ณด๊ณ ๊ทธ๊ฒ์ด ์ผ๋ง๋ ์ฒ์ฌ์ ์ธ์ง ๊นจ๋ฌ์์ต๋๋ค.
์ ์กฐ๊ฐ ํ์ผ: โงโN(Win/Linux์ ๊ฒฝ์ฐ Shift+Ctrl+N). ์ค๋ํซ์ ํ๋ก์ ํธ์ ๋ชจ๋ ์ฐฝ์์ ์ฌ์ฉ ๊ฐ๋ฅํ๊ณ ๋๊ธฐํ๋ฉ๋๋ค. ๋๋ ์ข
์ข
๋ค๋ฅธ ๊ณณ์์ ์ป์ ์ผ๋ถ JSON ๋๋ SQL์ ๊ฒ์ฌํ๊ณ ํ์ํํ๋ ๋ฐ ์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๋์ ๋น๋ฐ ๋ ์ํผ
๊ธ์์ฒจํ๋ ๋งค์ผ ํ์ดํ ์๊ฐ์ ์์ฒญ๋๊ฒ ์ ์ฝํด ์ฃผ๋ ๊ธฐ๋ฅ์
๋๋ค.
Tabnine ์ AI ๊ธฐ๋ฐ Intellij IDEA ์ฝ๋๋ฅผ ์ปดํ์ผํ๊ธฐ ์ํ JetBrains ํ๋ฌ๊ทธ์ธ์
๋๋ค. ์ง๊ธ์ ๋ฌด๋ฃ์ง๋ง ์๋๋ฅด์ธ์. ์ค๋ ๊ฐ์ง ๋ชปํ ๊ฒ ๊ฐ์์.
GO TO FULL VERSION