๋ชฉ๋ก์ ์ฒด ๊ธ (162)
EEALL@ONCE
Java 10๋ถํฐ ๋์ ๋ var๋ Local-Variable Type Inference๋ผ๊ณ ๋ถ๋ฆฌ๋ ๊ธฐ๋ฅ์ ์ผ๋ถ์ ๋๋ค. ์ด๋ ๊ฐ๋ฐ์๊ฐ ๋ณ์์ ๋ฐ์ดํฐ ํ์ ์ ๋ช ์์ ์ผ๋ก ์ ์ธํ์ง ์์๋ ์ปดํ์ผ๋ฌ๊ฐ ๋ณ์์ ํ์ ์ ์ ์ถํ ์ ์๊ฒ ํด์ค๋๋ค. var list = new ArrayList(); // ์ธ์คํด์ค ์์ฑ ์ ArrayList์ด๋ผ๋ ํ์ ์ ์ถ๋ก var stream = list.stream(); // list์ ๋ฉ์๋๋ฅผ ํตํด Stream ํ์ ์ ์ถ๋ก ํ์ง๋ง var๋ฅผ ์ฌ์ฉํ ๋๋ ๋ช ๊ฐ์ง ์ฃผ์์ฌํญ์ด ์์ต๋๋ค: var๋ ์ค์ง ๋ฉ์๋์ ๋ก์ปฌ ๋ณ์์์๋ง ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค. ๋ฉ์๋ ์๊ทธ๋์ฒ, ํด๋์ค ๋ณ์, ์ธ์คํด์ค ๋ณ์์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. var๋ ๋ณ์๊ฐ ์ด๊ธฐํ ๋ ๋ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์ด๋ ์ปดํ์ผ๋ฌ๊ฐ ํ์ ์ ์ ์ถํ ..
์์ ์๋ฃํ primitive type vs ์ฐธ์กฐ ์๋ฃํ reference type ๐ญ: ์ด ๋ ๊ฐ์ง ์ ํ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ด ๋ค๋ฆ ๋๋ค. ์์ ์๋ฃํ: ๊ธฐ๋ณธ ์ ํ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ด์ฅ๋ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ์ ํ์ ๋๋ค. ๋จ์ํ ๊ฐ์ ๋ํ๋ด๋ฉฐ ๊ฐ์ฒด๊ฐ ์๋๋๋ค. ํฌ๊ธฐ๊ฐ ๊ณ ์ ๋์ด ์๊ณ ๋ณ์๊ฐ ์ ์ธ๋ ๋ฉ๋ชจ๋ฆฌ์ ์ง์ ์ ์ฅ๋ฉ๋๋ค. Java์ ๊ธฐ๋ณธ ์ ํ์ ์๋ int, double, char, boolean ๋ฑ์ ๋๋ค. ๊ธฐ๋ณธํ์ผ๋ก ๋ณ์๋ฅผ ์ ์ธํ๋ฉด ๋ณ์์ ์ค์ ๊ฐ์ด ์ ์ฅ๋ฉ๋๋ค. ์ฐธ์กฐ ์ ํ: ์ฐธ์กฐ ์ ํ์ ์ค์ ๋ฐ์ดํฐ๊ฐ ์๋ ๊ฐ์ฒด์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์(์ฐธ์กฐ)๋ฅผ ์ ์ฅํฉ๋๋ค. ๋ณต์กํ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๊ฐ์ฒด๋ฅผ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ฐธ์กฐ ์ ํ์๋ ํด๋์ค, ์ธํฐํ์ด์ค, ๋ฐฐ์ด ๋ฐ ๊ธฐํ ์ฌ์ฉ์ ์ ์ ์ ํ์ด ํฌํจ๋ฉ๋๋ค. ์ฐธ์กฐ..
๋ฐฐ์ด์ ๊ฐ์์ ๋ณ๊ฒฝ์ด ๋ถ๊ฐ๋ฅํ๋ค. ์๊ทธ๋ด๊น? ๐ญ : ์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ ํ ๋น: ๋ฐฐ์ด์ ์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์์๋ค์ ์์ฐจ์ ์ผ๋ก ๋ฐฐ์นํฉ๋๋ค. ์ด๋ฌํ ๊ตฌ์กฐ๋ก ์ธํด ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ๋ ค๋ฉด ์๋ก์ด ํฌ๊ธฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ ๋นํ๊ณ ๊ธฐ์กด์ ๋ฐ์ดํฐ๋ฅผ ์๋ก์ด ๊ณต๊ฐ์ผ๋ก ๋ณต์ฌํด์ผ ํฉ๋๋ค. ์ด๋ ํฐ ๋น์ฉ์ด ๋ฐ์ํ๋ฉฐ, ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ ์์ฃผ ๋ณ๊ฒฝ๋๋ค๋ฉด ๋ฉ๋ชจ๋ฆฌ ํ ๋น๊ณผ ๋ฐ์ดํฐ ๋ณต์ฌ๋ก ์ธํ ์ค๋ฒํค๋๊ฐ ํฌ๊ฒ ์ฆ๊ฐํ ์ ์์ต๋๋ค. ๊ทผ๋ฐ, ๊ทธ๋ผ... arraylisst๋ ๋๊ฐ์ด ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ ์ ์๋๊ฑฐ ์๋๊ฐ... ? ๐ญ : ๋ง์ต๋๋ค. ๋ ์๋ฃ๊ตฌ์กฐ ๋ชจ๋ ํฌ๊ธฐ๊ฐ ๋ณ๊ฒฝ๋๋ ๊ฒฝ์ฐ์๋ ์๋ก์ด ํฌ๊ธฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ ๋นํ๊ณ ๊ธฐ์กด ๋ฐ์ดํฐ๋ฅผ ๋ณต์ฌํด์ผ ํฉ๋๋ค. ์ด๋ฐ ์ ์์ ํฌ๊ธฐ ๋ณ๊ฒฝ์๋ ๋น์ทํ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํฉ๋๋ค. ํ์ง๋ง ์ด ๋์ ๋ค๋ฅธ ํํ๋ก ์ค๊ณํ๋ ..
Reference Types(์ฐธ์กฐ ์๋ฃํ) : Java์ ์ฐธ์กฐ ์ ํ์ ํ์ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ๋ ๊ธฐ๋ณธ์ด ์๋ ๋ฐ์ดํฐ ์ ํ์ ๋๋ค. ์ฐธ์กฐ ์ ํ์ ์๋ก๋ ํด๋์ค, ์ธํฐํ์ด์ค, ๋ฐฐ์ด ๋ฐ ๋ชจ๋ ์ฌ์ฉ์ ์ ์ ๊ฐ์ฒด๊ฐ ์์ต๋๋ค. Primitive Types(์์ ์๋ฃํ): Java์ ๊ธฐ๋ณธ ์ ํ์ ๋จ์ ๊ฐ์ ๋ณด์ ํ๋ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ์ ํ์ ๋๋ค. ์ฌ๊ธฐ์๋ int, double, boolean, char ๋ฑ์ด ํฌํจ๋ฉ๋๋ค. ๊ฐ์ฒด๊ฐ ์๋๋ฉฐ ํด๋น ๊ฐ๊ณผ ํจ๊ป ์คํ์ ์ง์ ์ ์ฅ๋ฉ๋๋ค. ์ฐธ์กฐ ์ ํ๊ณผ ๊ธฐ๋ณธ ์ ํ์ ์ฐจ์ด์ ์ ๊ณ ๋ คํ ๋ 'null'์ ์ฐธ์กฐ ์ ํ์ ์ปจํ ์คํธ์์๋ง ์๋ฏธ๊ฐ ์์ต๋๋ค. ๊ธฐ๋ณธ ์ ํ ๋ณ์๋ ํญ์ ํด๋น ์ ํ์ ๊ฐ์ ๋ณด์ ํ๋ฉฐ null๊ณผ ๊ฐ์ ๊ฐ๋ ์ด ์์ต๋๋ค. ๊ธฐ๋ณธ ์ ํ์ ๋ํ ๊ฐ์ด ์์์ ๋ํ๋ด์ผ ํ๋ ๊ฒฝ์ฐ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด Jav..
null: Java์์ null์ ๊ฐ์ฒด ์ฐธ์กฐ๊ฐ ์์์ ๋ํ๋ด๋ ํน์ ๊ฐ์ ๋๋ค. ์ด๋ ๋ณ์๊ฐ ๋ฉ๋ชจ๋ฆฌ ์์น๋ฅผ ๊ฐ๋ฆฌํค์ง ์์์ ์๋ฏธํฉ๋๋ค. ๋ณ์์ 'null' ๊ฐ์ด ํ ๋น๋๋ฉด ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ์ง ์์์ ๋ํ๋ ๋๋ค. null์ ๋ฌธ์์ด ์ธ์คํด์ค ๋ฉ์๋ ์ฌ์ฉ ๋ถ๊ฐํ๋ค. ์ ์ผ๊น? ๋ฌธ์์ด ์ธ์คํด์ค ๋ฉ์๋๋? .length(), .equals(), .concat() ๊ฐ์ ๊ฒ์ด๋ค. ๐ญ : null์ ์ฐธ์กฐํ๋ ๊ฐ์ด ์์์ผ๋ก, ๊ธธ์ด๋ฅผ ์ ์๋, ๋น๊ต ํ ์๋, ์ฐ๊ฒฐํ ์๋ ์๋ ๊ฒ์ด๋ค. ์ถ๊ฐ์ ์ผ๋ก ๋ ์๊ฐํด๋ด์ผํ ๋ถ๋ถ์ null์ ํ ๋น์ ์ปดํ์ผ ์ค๋ฅ๋ฅผ ๋ด๋๊ฐ ์ด๋ค! String notInitStr; String nullStr2 = null; System.out.println(notInitStr); // (1) Syste..
ํธ๋ฆฌ๋ฐ(Trimming)์ ๋ฌธ์์ด์์ ์์ชฝ ๋์ ์์นํ ๊ณต๋ฐฑ(whitespace)์ ์ ๊ฑฐํ๋ ์์ ์ ๋งํฉ๋๋ค. ๋ฌธ์์ด์ ์์ชฝ ๋์๋ ๊ณต๋ฐฑ ๋ฌธ์(์: ๊ณต๋ฐฑ, ํญ, ์ค๋ฐ๊ฟ ๋ฑ)์ด ํฌํจ๋ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ณต๋ฐฑ ๋ฌธ์๋ค์ ์ข ์ข ์ฌ์ฉ์์ ์ ๋ ฅ ์ค๋ฅ๋ฅผ ๋ฐฉ์งํ๊ฑฐ๋ ๋ฌธ์์ด์ ์ผ๊ด์ฑ์ ์ ์งํ๊ธฐ ์ํด ์ ๊ฑฐ๋์ด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ์๋ฐ์์๋ `trim()` ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์์ด์ ํธ๋ฆฌ๋ฐํ ์ ์์ต๋๋ค. `trim()` ๋ฉ์๋๋ ํธ๋ฆฌ๋ฐ๋ ๋ฌธ์์ด์ ๋ฐํํฉ๋๋ค. ์๋ณธ ๋ฌธ์์ด์ ๋ณ๊ฒฝ๋์ง ์๊ณ , ์๋ก์ด ๋ฌธ์์ด์ด ๋ฐํ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ค์์ `trim()` ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์์ด์์ ๊ณต๋ฐฑ์ ์ ๊ฑฐํ๋ ์์ ์ ๋๋ค: public class Main { public static void main(String[] args) ..
๋น ๋ฌธ์์ด ์ฌ๋ถ check ํจ์ 1. isEmpty() ์ฐ์ผ๋ก ๋น์ด์๋์ง ํ๋ณ, ๋ง์ฝ ๊ณต๋ฐฑ์ด๋ผ๋ ๋ค์ด๊ฐ๋ฉด ๋น์ด์๋๊ฒ ์๋ 2. isBlank() ๊ธ์๊ฐ ๋ค์ด์๋ ์๋๋ง ํ๋ณ, ๊ณต๋ฐฑ์ ๋ฐ๋ก ํ๋ณ์ํจ (์์ด๋ ๋ฌด์) String str1 = ""; String str2 = " \t\n"; int int1 = str1.length(); //0 int int2 = str2.length(); //3 boolean bool1 = str1.isEmpty(); //true boolean bool2 = str2.isEmpty(); //false boolean bool3 = str1.isBlank(); //true boolean bool4 = str2.isBlank(); //true