"์•ˆ๋…•, ์•„๋ฏธ๊ณ !"

"ํ•˜์ง€๋งŒ Bilaabo, ๋‹น์‹ ์€ ์ด๋ฏธ ์ธ์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค."

"์ •๋ง์š”? ๊ธ€์Ž„์š”, ์ €๋Š” ์—ฌ์ „ํžˆ ๊ทธ ๋ฌธ๊ตฌ๋กœ ๋งค ์ˆ˜์—…์„ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์„ ์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค."

"์˜ค๋Š˜ ์šฐ๋ฆฌ๋Š” String ํด๋ž˜์Šค๋ฅผ ๊นŠ์ด ์žˆ๊ฒŒ ๊ณต๋ถ€ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค."

"ํ•˜์ง€๋งŒ ๋‚˜๋Š” ์ด๋ฏธ ๊ทธ๊ฒƒ์— ๋Œ€ํ•ด ๋ชจ๋“  ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ฌ์ง€์–ด String ํด๋ž˜์Šค๊ฐ€ ๋ถˆ๋ณ€์ด๋ผ๋Š” ๊ฒƒ๋„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค."

"String ํด๋ž˜์Šค์—๋Š” 46๊ฐœ์˜ ๋ฉ”์„œ๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ์ค‘ ๋ช‡ ๊ฐœ๋ฅผ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?"

"10๊ฐœ๋„ ์•ˆ ๋ผ. ์‚ฌ์‹ค ์ตœ๋Œ€ 5๊ฐœ ์ •๋„์•ผ."

"๊ทธ๋Ÿผ ์ž˜ ๋“ค์–ด."

"Java์˜ ์ œ์ž‘์ž๋Š” ํ”„๋กœ๊ทธ๋žจ์— ์žˆ๋Š” ๋Œ€๋ถ€๋ถ„์˜ ๋ฌธ์ž์—ด์ด ์ˆ˜์ •๋˜๋„๋ก ์˜๋„๋œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ๋Š” ์‚ฌ์‹ค์„ ์•Œ์•„์ฐจ๋ ธ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋•Œ๋•Œ๋กœ ๋ฌธ์ž์—ด์ด ์ˆ˜์ •๋˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด์„ ๋งŒ๋“ค๊ณ  ์ค‘์š”ํ•œ ๊ฒƒ์„ ์ €์žฅํ•˜๊ณ  ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ๋ฉ”์„œ๋“œ์— ์ „๋‹ฌํ•œ ๋‹ค์Œ ๋ณ€๊ฒฝ๋  ๋•Œ ๋งค์šฐ ์„ฑ๊ฐ€์‹  ์ผ์ž…๋‹ˆ๋‹ค. . ์ด๋Ÿฌํ•œ ์ผ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ๊ทธ๋“ค์€ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•œ ๋ฌธ์ž์—ด๊ณผ ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅํ•œ ๋ฌธ์ž์—ด์„ ๋ชจ๋‘ ๋งŒ๋“ค๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค."

"String ํด๋ž˜์Šค๋Š” ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋Š” ๋ฌธ์ž์—ด์„ ์œ„ํ•œ ๊ฒƒ์ด๊ณ  StringBuilder ํด๋ž˜์Šค๋Š” ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ž์—ด์„ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํด๋ž˜์Šค์˜ ๊ฐœ์ฒด๋Š” ๋‹ค๋ฅธ ์œ ํ˜•์œผ๋กœ ์‰ฝ๊ฒŒ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ Java ๊ฐœ๋ฐœ์ž๋Š” ๋‹จ์ˆœํžˆ String์ด ํ•„์š”ํ•˜๋ฉฐ ์ด๋Š” Java ์ž‘์„ฑ์ž๊ฐ€ ์˜ณ์•˜๋‹ค๋Š” ๊ฒƒ์„ ์ฆ๋ช…ํ•ฉ๋‹ˆ๋‹ค."

"๊ทธ๋ž˜์„œ ๋ฌธ์ž์—ด์ด ํ•„์š”ํ•˜๋ฉด String ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•œ ๋ฌธ์ž์—ด์ด ํ•„์š”ํ•˜๋ฉด StringBuilder ํด๋ž˜์Šค ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๊นŒ ?"

"์˜ˆ. ์‹ค์ œ๋กœ StringBuffer๋ผ๋Š” ๋˜ ๋‹ค๋ฅธ ํด๋ž˜์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. StringBuilder์˜ ๋ณต์‚ฌ๋ณธ์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ฉ”์„œ๋“œ๊ฐ€ synchronized ๋กœ ์„ ์–ธ๋˜์–ด ํ”„๋กœ๊ทธ๋žจ์˜ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ์—์„œ ๊ฐœ์ฒด์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ๋งŒ ๋‹ค๋ฆ…๋‹ˆ๋‹ค."

"๊ทธ๋ฆฌ๊ณ  ์ด ์˜ˆ๋Š” ์–ด๋–ป์Šต๋‹ˆ๊นŒ? ์—ฌ๊ธฐ์„œ ๋ฌธ์ž์—ด์ด ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ?"

String s = "cat";
s = s + "-" + s;

"์•„๋‹ˆ์š”. ์—ฌ๊ธฐ์—๋Š” ยซcatยป๊ณผ ยซcat-catยป์ด๋ผ๋Š” ๋‘ ๊ฐœ์˜ String ๊ฐœ์ฒด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ ๊ฐœ์ฒด๋Š” ์ฒซ ๋ฒˆ์งธ ๊ฐœ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ๋˜์ง€๋งŒ ์ฒซ ๋ฒˆ์งธ ๊ฐœ์ฒด๋Š” ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ๋Š” ์—ฌ๊ธฐ๊ฐ€ ํ›จ์”ฌ ๋” ํฅ๋ฏธ๋กœ์›Œ์š”. ์—ฌ๊ธฐ ์ฝ”๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์˜ˆ์ œ๋ฅผ ์ปดํŒŒ์ผํ•  ๋•Œ ๋‹ค์Œ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค."

String s = "cat";
StrinsBuilder s2 = new StringBuilder(s);
s2.append("-");
s2.append(s);
s = s2.toString();

"๋”ฐ๋ผ์„œ StringBuilder๋Š” ๊ฑฐ์˜ ํ•ญ์ƒ ์ƒˆ ๋ฌธ์ž์—ด์„ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉ๋˜์ง€๋งŒ ๋•Œ๋กœ๋Š” ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๋ชจ๋“  ์ž‘์—…์„ ๋Œ€์‹  ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฒ„์ „์ด ๋” ๊ฐ„๋‹จํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ?"

"์˜ˆ, Java์— ์ด๋ ‡๊ฒŒ ๊ณ ๊ธ‰ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด ๋†€๋ž์Šต๋‹ˆ๋‹ค."

"์ž, ์ด์ œ String ํด๋ž˜์Šค์˜ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค."

1) ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋Š” ์–ด๋–ป๊ฒŒ ์ฐพ์Šต๋‹ˆ๊นŒ?

" ๊ธธ์ด ๋ฉ”์„œ๋“œ๋Š” ๋ฌธ์ž์—ด์˜ ๊ธธ์ด(๋ฌธ์ž ์ˆ˜)๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค."

ํ–‰๋™ ์–‘์‹) ์˜ˆ
int length();
String s = "Good news, everyone!";
int n = s.length();
int n = "Good news, everyone!".length();

2) ๋ฌธ์ž์—ด์—์„œ ๋ฌธ์ž๋ฅผ ์–ด๋–ป๊ฒŒ ์–ป์Šต๋‹ˆ๊นŒ?

" charAt ๋ฉ”์„œ๋“œ๋Š” ์ธ๋ฑ์Šค๋กœ ๋ฌธ์ž์—ด์—์„œ ๋ฌธ์ž๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž ์ธ๋ฑ์Šค๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

ํ–‰๋™ ์–‘์‹) ์˜ˆ
char charAt(int index)
String s = "Good news, everyone!";
char n = s.charAt(5);
char n = "Good news, everyone!".charAt(5);

3) ๋ฌธ์ž์—ด์—์„œ ๋ฌธ์ž๋ฅผ ์–ด๋–ป๊ฒŒ ์–ป์Šต๋‹ˆ๊นŒ?

๋ฌธ์ž์—ด์—์„œ ๋ฌธ์ž๋ฅผ ๊ฐ€์ ธ์˜ค๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

ํ–‰๋™ ์–‘์‹) ์˜ˆ
char[]toCharArray ()
String s = "Good news, everyone!";
for(char c: s.toCharArray())
{
System.out.println(c);
}

4) ๋ฌธ์ž์—ด์„ ์–ด๋–ป๊ฒŒ ๋น„๊ตํ•ฉ๋‹ˆ๊นŒ?

"equals ๋ฉ”์„œ๋“œ๋Š” ๋ฌธ์ž์—ด์ด ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ  equalsIgnoreCase ๋ฉ”์„œ๋“œ๋Š” ๋Œ€์†Œ๋ฌธ์ž๊ฐ€ ๋ฌด์‹œ๋  ๋•Œ ๋ฌธ์ž์—ด์ด ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

ํ–‰๋™ ์–‘์‹) ํ–‰๋™ ์–‘์‹)
boolean equals(Object o)
String s = "cat";
boolean test1 = s.equals("cat");//true
boolean test2 = s.equals("Cat");//false
boolean test3 = s.equals("c"+"a"+"t");//true
boolean equalsIgnoreCase(String str)
String s = "cat";
boolean test1 = s.equalsIgnoreCase("cat");//true
boolean test2 = s.equalsIgnoreCase("Cat");//true
boolean test3 = s.equalsIgnoreCase("cAT");//true

5) ๋ฌธ์ž์—ด์˜ ๋ชจ๋“  ๋ฌธ์ž๋ฅผ ๋Œ€๋ฌธ์ž ๋˜๋Š” ์†Œ๋ฌธ์ž๋กœ ๋งŒ๋“ค๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

" toUpperCase ๋ฉ”์„œ๋“œ๋Š” ๋ชจ๋‘ ๋Œ€๋ฌธ์ž๋กœ ๋œ ๋ฌธ์ž์—ด์˜ ๋ณต์‚ฌ๋ณธ์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค."

" toLowerCase ๋ฉ”์„œ๋“œ๋Š” ๋ชจ๋‘ ์†Œ๋ฌธ์ž๋กœ ๋œ ๋ฌธ์ž์—ด์˜ ๋ณต์‚ฌ๋ณธ์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค."

ํ–‰๋™ ์–‘์‹) ์˜ˆ
String toUpperCase()
String s = " Good news, everyone!  ";
s = s.toUpperCase();

๊ฒฐ๊ณผ:

s == "GOOD NEWS, EVERYONE!";
String toLowerCase()
String s = "Good news, everyone!";
s = s.toLowerCase();

๊ฒฐ๊ณผ:

s == "good news, everyone!";

6) ๋ฌธ์ž์—ด์˜ ์ฒ˜์Œ๊ณผ ๋์— ์žˆ๋Š” ๊ณต๋ฐฑ์„ ์–ด๋–ป๊ฒŒ ์ œ๊ฑฐํ•ฉ๋‹ˆ๊นŒ?

"ํŠธ๋ฆผ ๋ฉ”์„œ๋“œ๋Š” ์‹œ์ž‘๊ณผ ๋์— ๊ณต๋ฐฑ ๋ฌธ์ž๊ฐ€ ์—†๋Š” ๋ฌธ์ž์—ด์˜ ๋ณต์‚ฌ๋ณธ์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค."

ํ–‰๋™ ์–‘์‹) ์˜ˆ
String trim()
String s = "   Good news, everyone!   ";
s = s.trim();

๊ฒฐ๊ณผ:

s == "Good news, everyone!";