Java ์ฐธ์กฐ์๋ฃํ - String ์์ฝ ์์ ์๋ด
์ด ์์์ Java์์ ๋ฌธ์์ด์ ๋ค๋ฃจ๋ ์ฐธ์กฐ์๋ฃํ์ธย String์ ๋ํด ์ฝ๊ณ ์์ธํ ์ค๋ช
ํฉ๋๋ค. ๋ฌธ์์ด์ ์ ์ฅํ๋ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ, ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์ฐจ์ด, ๊ทธ๋ฆฌ๊ณ ๋ฌธ์์ด ๋น๊ต ๋ฐฉ๋ฒ์ ์ค์ฌ์ผ๋ก ๋ฐฐ์๋ณผ ์ ์์ด์.
๋ชฉ์ฐจ
1.
2.
3.
4.
5.
6.
7.
๋ฌธ์์ด(String) ๊ธฐ๋ณธ ๊ฐ๋
[00:00:00]
โข
Java์์ ๋ฌธ์์ด์ย String ํด๋์ค๋ผ๋ ์ฐธ์กฐ์๋ฃํ์ผ๋ก ๋ง๋ค์ด์ ธ ์์ด์.
โข
์ฐ๋ฆฌ๊ฐ ์ง์ ๋ง๋ค ํ์ ์์ด Java๊ฐ ๊ธฐ๋ณธ ์ ๊ณตํ๋ ํ์
์
๋๋ค.
โข
์ฐธ์กฐ์๋ฃํ์ด๋, ๋ณ์์ ์ค์ ๊ฐ์ด ์๋๋ผ ๊ฐ์ด ์ ์ฅ๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์(์ฐธ์กฐ)๋ฅผ ์ ์ฅํ๋ ์๋ฃํ์ด์์.
๋ฌธ์์ด ์ ์ฅ ๋ฐฉ๋ฒ: ๋ฆฌํฐ๋ด๊ณผ ๊ฐ์ฒด [00:00:33]
โข
๋ฌธ์์ด์ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ ๋ ๊ฐ์ง๊ฐ ์์ด์:
1.
์คํธ๋ง ๋ฆฌํฐ๋ด(String Literal): ํฐ๋ฐ์ดํ(" ")๋ก ์ง์ ๋ฌธ์์ด์ ์์ฑํ๋ ๋ฐฉ๋ฒ์:ย String a = "Hello";
2.
์คํธ๋ง ๊ฐ์ฒด(String Object):ย newย ํค์๋๋ก String ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์:ย String b = new String("Hello");
โข
๋ฆฌํฐ๋ด์ ๊ฐ์ ๋ฌธ์์ด์ด ์ฌ๋ฌ ๋ฒ ์ฐ์ฌ๋ ํ ๊ณณ์๋ง ์ ์ฅ๋๊ณ , ๊ฐ์ฒด๋ ๊ฐ๊ฐ ๋ณ๋์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ฐจ์งํฉ๋๋ค.
๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ๊ณผ ์ฐธ์กฐ ๋น๊ต [00:01:30]
โข
๋ฆฌํฐ๋ด ๋ฐฉ์์ผ๋ก ๊ฐ์ ๋ฌธ์์ด์ ์ ์ฅํ๋ฉด, Java๋ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๊ฐ๋ฆฌํค๊ฒ ํด ์ค๋ณต ์ ์ฅ์ ๋ง์์.์:ย a์ย b๊ฐ ๋ชจ๋ย "Hello"๋ผ๋ฉด ๋ ๋ค ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ์ฐธ์กฐํฉ๋๋ค.
โข
๋ฐ๋ฉด,ย new String("Hello")๋ก ๋ง๋ค๋ฉด ๊ฐ๊ฐ ๋ค๋ฅธ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ ์ฅ๋์ด ์ฃผ์๊ฐ ๋ฌ๋ผ์ง๋๋ค.
โข
์ฆ, ๋ฆฌํฐ๋ด์ ๋ฉ๋ชจ๋ฆฌ ์ ์ฝ, ๊ฐ์ฒด๋ ๋
๋ฆฝ์ ์ธ ๊ณต๊ฐ์ ๊ฐ์ง๋ค๊ณ ์ดํดํ๋ฉด ๋ผ์.
๋ฌธ์์ด ๋น๊ต ์ ์ฃผ์์ [00:02:59]
โข
๋ฌธ์์ด์ ๋น๊ตํ ๋ย ==ย ์ฐ์ฐ์๋ **๋ณ์๊ฐ ๊ฐ๋ฆฌํค๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์(์ฐธ์กฐ๊ฐ)**๋ฅผ ๋น๊ตํฉ๋๋ค.
โข
๋ฆฌํฐ๋ด๋ผ๋ฆฌ ๋น๊ตํ๋ฉด ๊ฐ์ ์ฃผ์๋ฅผ ๊ฐ๋ฆฌํค๋ฏ๋กย true๊ฐ ๋์ค์ง๋ง, ๊ฐ์ฒด๋ผ๋ฆฌ ๋น๊ตํ๋ฉด ์ฃผ์๊ฐ ๋ค๋ฅด๋ฏ๋กย false๊ฐ ๋์ต๋๋ค.
โข
๊ทธ๋์ ๋ฌธ์์ด ๋ด์ฉ์ด ๊ฐ์์ง ๋น๊ตํ๋ ค๋ฉดย ==ย ๋์ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์จ์ผ ํด์.
๋ฌธ์์ด ๋ด์ฉ ๋น๊ต ๋ฐฉ๋ฒ - equals() ๋ฉ์๋ [00:04:38]
โข
String ํด๋์ค๊ฐ ์ ๊ณตํ๋ย equals()ย ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉดย ๋ฌธ์์ด ๋ด์ฉ ์์ฒด๋ฅผ ๋น๊ตํ ์ ์์ต๋๋ค.
โข
์๋ฅผ ๋ค์ด,ย a.equals(b)๋ย a์ย b๊ฐ ๊ฐ์ ๋ฌธ์์ด์ ๊ฐ์ง๊ณ ์์ผ๋ฉดย true๋ฅผ ๋ฐํํด์.
โข
๊ฐ์ฒด๋ก ์์ฑ๋ ๋ฌธ์์ด๋ ๋ด์ฉ์ด ๊ฐ์ผ๋ฉดย equals()๋ก ๋น๊ตํ๋ฉดย true๊ฐ ๋ฉ๋๋ค.
์ค์ต ์์ ์ ๊ฒฐ๊ณผ ์์ธก [00:05:17]
โข
์์์์๋ ์ง์ ์ฝ๋๋ฅผ ์์ฑํด๋ณด๊ณ ,ย ==์ย equals()์ ๊ฒฐ๊ณผ๊ฐ ์ด๋ป๊ฒ ๋ค๋ฅธ์ง ์์ธกํด๋ณด๋ ์๊ฐ์ ๊ฐ์ง๋๋ค.
โข
์๋ฅผ ๋ค์ด:
โฆ
String a = "Hello";
โฆ
String b = "Hello";
โฆ
a == b๋ย trueย (๊ฐ์ ๋ฆฌํฐ๋ด ์ฃผ์)
โฆ
a.equals(b)๋ย trueย (๋ด์ฉ ๊ฐ์)
โฆ
String c = new String("Hello");
โฆ
a == c๋ย falseย (๋ค๋ฅธ ๊ฐ์ฒด ์ฃผ์)
โฆ
a.equals(c)๋ย trueย (๋ด์ฉ ๊ฐ์)
โข
์ด๋ฐ ์ฐจ์ด๋ฅผ ์ดํดํ๋ ๊ฒ์ด ์ค์ํด์.
์ ๋ฆฌ ๋ฐ ์์ผ๋ก ๋ฐฐ์ธ ๋ด์ฉ [00:13:49]
โข
String์ ์ฐธ์กฐ์๋ฃํ์ด๋ผย ==๋ ์ฃผ์ ๋น๊ต,ย equals()๋ ๋ด์ฉ ๋น๊ต์์ ๊ผญ ๊ธฐ์ตํ์ธ์.
โข
์์ผ๋ก String ํด๋์ค๊ฐ ์ ๊ณตํ๋ ๋ค์ํ ๋ฌธ์์ด ์ฒ๋ฆฌ ๊ธฐ๋ฅ๋ ๋ฐฐ์ธ ์์ ์
๋๋ค.
โข
๋ฌธ์์ด ๋ค๋ฃจ๊ธฐ๋ Java ํ๋ก๊ทธ๋๋ฐ์์ ๋งค์ฐ ๊ธฐ๋ณธ์ ์ด๊ณ ์ค์ํ ๋ถ๋ถ์ด๋ ์ฒ์ฒํ ์ตํ๊ฐ๋ฉด ์ข์์.
๋ง๋ฌด๋ฆฌ ์์ฝ
Java์์ ๋ฌธ์์ด์ String์ด๋ผ๋ ์ฐธ์กฐ์๋ฃํ์ผ๋ก ๊ด๋ฆฌ๋๋ฉฐ, ๊ฐ์ ๋ฌธ์์ด ๋ฆฌํฐ๋ด์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ณต์ ํ์ง๋ง, ๊ฐ์ฒด๋ก ์์ฑํ๋ฉด ๋ณ๋์ ๊ณต๊ฐ์ ์ฐจ์งํฉ๋๋ค. ๊ทธ๋์ ๋ฌธ์์ด ๋น๊ต ์ย ==๋ ์ฃผ์ ๋น๊ต,ย equals()๋ ๋ด์ฉ ๋น๊ต์์ ๊ผญ ์์๋์ธ์. ์ด ์์์ผ๋ก String์ ๊ธฐ๋ณธ ๊ฐ๋
๊ณผ ๋น๊ต ๋ฐฉ๋ฒ์ ์ฝ๊ฒ ์ดํดํ ์ ์์ต๋๋ค!