Search

Java ์ฐธ์กฐ์ž๋ฃŒํ˜• - String

Java ์ฐธ์กฐ์ž๋ฃŒํ˜• - String ์š”์•ฝ ์˜์ƒ ์•ˆ๋‚ด

์ด ์˜์ƒ์€ Java์—์„œ ๋ฌธ์ž์—ด์„ ๋‹ค๋ฃจ๋Š” ์ฐธ์กฐ์ž๋ฃŒํ˜•์ธย String์— ๋Œ€ํ•ด ์‰ฝ๊ณ  ์ž์„ธํžˆ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด์„ ์ €์žฅํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•, ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์ฐจ์ด, ๊ทธ๋ฆฌ๊ณ  ๋ฌธ์ž์—ด ๋น„๊ต ๋ฐฉ๋ฒ•์„ ์ค‘์‹ฌ์œผ๋กœ ๋ฐฐ์›Œ๋ณผ ์ˆ˜ ์žˆ์–ด์š”.

๋ชฉ์ฐจ

1.
๋ฌธ์ž์—ด(String) ๊ธฐ๋ณธ ๊ฐœ๋… [00:00:00]
2.
๋ฌธ์ž์—ด ์ €์žฅ ๋ฐฉ๋ฒ•: ๋ฆฌํ„ฐ๋Ÿด๊ณผ ๊ฐ์ฒด [00:00:33]
3.
๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„๊ณผ ์ฐธ์กฐ ๋น„๊ต [00:01:30]
4.
๋ฌธ์ž์—ด ๋น„๊ต ์‹œ ์ฃผ์˜์  [00:02:59]
5.
๋ฌธ์ž์—ด ๋‚ด์šฉ ๋น„๊ต ๋ฐฉ๋ฒ• - equals() ๋ฉ”์†Œ๋“œ [00:04:38]
6.
์‹ค์Šต ์˜ˆ์ œ์™€ ๊ฒฐ๊ณผ ์˜ˆ์ธก [00:05:17]
7.
์ •๋ฆฌ ๋ฐ ์•ž์œผ๋กœ ๋ฐฐ์šธ ๋‚ด์šฉ [00:13:49]

๋ฌธ์ž์—ด(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์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ๋น„๊ต ๋ฐฉ๋ฒ•์„ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!