"์๋ฏธ๊ณ , ์ด์ ๋ฐฐ์ด์ด ํ๋ก๊ทธ๋๋ฐ์ ์ผ๋ง๋ ์ ์ฉํ์ง ๊นจ๋ฌ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค."
"ํ์คํ, ๋ฆฌ์! ๋ ์ด๋ฏธ ํ๋ ์ด์์ ๊ณผ์ ๋ฅผ ํด๊ฒฐํ์ด."
"์์ ์ ๋ฐ๋ณต์ ์ธ ์์ ์ด ์์์ต๋๊น? ๋ฐ๋ณตํด์ ์ํํ ์์ ์ ๋๋ค."
"๋ด๊ฐ ๋น์ ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ดํดํ๋ค๋ฉด ๋ค๋ฅธ ์์ ์์ ์ ์ฌํ ์์ ์ ์๋ฏธํฉ๋๊น? ์๋ฅผ ๋ค์ด ๋ฐฐ์ด์ ๋ด์ฉ์ ํ์ํ๊ธฐ ์ํด ๋ฃจํ๋ฅผ ์ฌ์ฉํ๋ ๋ชจ๋ ๊ณณ์์ โ ๊ทธ๋ ๊ฒ ํ๋ ๊ฒ์ด ๋๋ฌด ์ง๊ฒน์ต๋๋ค!"
"์, ์ ๋ง์ ๊ทธ๋ ์ต๋๋ค. Java ์ ์์๋ Java ํ๋ก๊ทธ๋๋จธ๊ฐ ๋ฐฐ์ด ์์ ์ ํ ๋ ์ข ์ข ๋์ผํ ์ฝ๋๋ฅผ ์์ฑํ๋ค๋ ์ฌ์ค์ ์์์ฐจ๋ ธ์ต๋๋ค. ์๋ฅผ ๋ค์ด ๋ฐฐ์ด์ ์ผ๋ถ๋ฅผ ๋ค๋ฅธ ๋ฐฐ์ด์ ๋ณต์ฌํ๋ ์ฝ๋ ๋๋ ๋ฐฐ์ด์ ๊ฐ ์ ์ ๋์ผํ ๋ด์ฉ์ผ๋ก ์ฑ์ฐ๋ ์ฝ๋๊ฐ ์์ต๋๋ค. ๋๋ ์: ๋ฐฐ์ด์ ๋ด์ฉ์ ํ๋ฉด์ ์ฝ์ ์ ์๋ ํ์์ผ๋ก ํ์ํ๋ ์ฝ๋.
"์ง์ ํ ํ๋ก๊ทธ๋๋จธ์๊ฒ๋ ํ ๊ฐ์ง ๋งค์ฐ ์ค์ํ ๊ท์น์ด ์์ต๋๋ค. ์์ ์ ๋ฐ๋ณตํ์ง ๋ง์ญ์์ค. ๋ถํ์ํ ์์ ์ ์ํํ๋ ๊ฒ์ด ์๋ชป์ด๋ผ๋ ๋ฐ ๋์ํ ๊ฒ์ ๋๋ค. ์์ ์ ๋ํ ๋๊ฐ๋ฅผ ๋ฐ์ง ๋ชปํ ๊ฒ์ ๋๋ค. ํจ๊ณผ์ ์ธ ์์ ์ ๋ง์ ๋ณด์๋ฅผ ๋ฐ์ต๋๋ค. ์ ๋ฅผ ๋ฏฟ์ผ์ธ์. ๋ง๋ถ์ฌ์, ์ด๋ณด์์ ์ฝ๋๋ ๋ง์ ์์ ๋ฐ๋ณต ์ฝ๋๋ก ์ฆ์ ์ธ์ํ ์ ์์ต๋๋ค.
"Java์ ์ ์์๋ ์ด๊ฒ์ ๊ณ ๋ฏผํ๊ณ ํน์ Arrays
ํด๋์ค(์ ์ ์ด๋ฆ์ java.util.Arrays
)๋ฅผ ๋ง๋ค์ด ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ๋ฐฐ์ด ๊ด๋ จ ์์
์ ๋ฃ์์ต๋๋ค."
"์... ์์ฃผ ํฅ๋ฏธ๋กญ๊ตฐ. ๊ทธ๋ผ ์ ํํ ๋ญ๊ฐ ๋ค์ด์์ง?
"๋ชจ๋ ๊ฒฝ์ฐ์ ๋ํ ๋ง์ ๋ฐฉ๋ฒ์ด ์์ง๋ง ๋จผ์ ๊ฐ์ฅ ๊ฐ๋จํ๊ณ ๊ฐ์ฅ ์์ฃผ ์ฌ์ฉ๋๋ 10๊ฐ์ง ๋ฐฉ๋ฒ๋ง ๊ณ ๋ คํ ๊ฒ์ ๋๋ค.
Arrays.toString()
"์ฐ๋ฆฌ๊ฐ ์ดํด๋ณผ ์ฒซ ๋ฒ์งธ ๋ฐฉ๋ฒ์ Arrays.toString()
. ๊ทธ๋ฌ๋ ๋จผ์ ์ฝ๊ฐ์ ๋ฐฐ๊ฒฝ ์ง์์
๋๋ค.
"Java์ ๊ฐ ๋ฐฐ์ด์๋ toString()
'๋ฐฐ์ด์ ํ
์คํธ ํํ'์ ๋ฐํํ๋ ๋ฉ์๋๊ฐ ์์ต๋๋ค. ๋ค์ ๋ช
๋ น๋ฌธ์ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด์ ํ
์คํธ ํํ์ ์ป์ ์ ์์ต๋๋ค.
String str = name.toString();
" name
๋ฐฐ์ด ๋ณ์์ ์ด๋ฆ์ ์ด๋์ ์๊ณ str
๋ฐฐ์ด์ ๋ฌธ์์ด ํํ์ ์ ์ฅํ ๋ณ์์ ์ด๋ฆ์
๋๋ค. ์๋ฏธ๊ณ , ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ ํ๋ฉด์ ๋ฐฐ์ด์ ์ธ์ํด ๋ณด์
จ์ต๋๊น ?System.out.println(name)
๋๋ ๊ณ ๋ฐฑํ๋ค, ๊ทธ๋ฐ ์ผ์ด ์์๋ค. ๋๋ ํก์ค์์ค์ ๋ณด์๋ค. ๋๋ ์ํ์ ํผํ๊ณ ๋ฃจํ๋ฅผ ๊ณ์ ์ฌ์ฉํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
"๋๋ถ๋ถ ๋ค์๊ณผ ๊ฐ์ ๊ฒ์ ๋ณด์์ ๊ฒ์ ๋๋ค.
I@37afeb11
"์ฒซ ๊ธ์๋ ๋ฐฐ์ด I
์ด๋ผ๋ ๋ป์ด๊ณ ๊ทธ ๋ค์ ๊ธฐํธ๋ ๋ฉ๋ชจ๋ฆฌ์ ์๋ ๋จ์ผ ๊ฐ์ฒด์ ์ฃผ์์
๋๋ค. ๋ฉ๋ชจ๋ฆฌ์ ์๋ ๋ฐฐ์ด์ ์ฃผ์๋ผ๊ณ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค. ํํธ์ผ๋ก๋ ์ด๊ฒ์ด ๋ฐ๋ก ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋ ์ ๋ณด์
๋๋ค. ๋ฐฐ์ด ๋ณ์์ง๋ง ๋ค๋ฅธ ํํธ์ผ๋ก๋ ๋ญ๊ฐ ๋ค๋ฅธ ๊ฒ์ ์์ํ์
จ์ฃ ?"int
@
"์ ํํฉ๋๋ค! ๋ฐฐ์ด์ ๊ฐ์ ๋ณผ ๊ณํ์ด์์ต๋๋ค. ์ด๊ฒ์ด ์ ๊ฐ ์์ํ๋ ๋ง์ง๋ง ์ผ์ด์์ต๋๋ค."
Arrays.toString()
"๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ด ๋ฐ๋ก ๊ทธ๋ค์ด ๋ฐฐ์ด์ ๊ฐ์ ํ์ํ๋ ๋ฐฉ๋ฒ์ ๊ณ ์ํ ์ด์ ์
๋๋ค . ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ ๋ค์๊ณผ ๊ฐ์ด ๋ถ๋ฆ
๋๋ค.
String str = Arrays.toString(name);
์:
|
๋ณ์ str ์๋ ๋ฌธ์์ด์ด ํฌํจ๋ฉ๋๋ค."[1, 2, 3]" |
|
๋ณ์ str ์๋ ๋ฌธ์์ด์ด ํฌํจ๋ฉ๋๋ค."[]" |
|
๋ณ์ str ์๋ ๋ฌธ์์ด์ด ํฌํจ๋ฉ๋๋ค."[Hi, How's, life?]" |
Arrays.deepToString()
"๊ทธ๋ฌ๋ ์ด toString()
๋ฐฉ๋ฒ์ 2์ฐจ์ ๋ฐฐ์ด์ ๊ดํด์๋ ์ ํฉํ์ง ์์ต๋๋ค. ์ฆ, ๋ฅผ ํธ์ถํ๋ ค๊ณ ํ๋ฉด Arrays.toString()
์ต์ํ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
[I@37afeb11, I@37afeb21, I@37afeb31]
"์ด๊ฒ์ ๋ชจ๋ 2์ฐจ์ ๋ฐฐ์ด์ ์ ์ด 1์ฐจ์ ๋ฐฐ์ด์ ๋ํ ์ฐธ์กฐ๋ฅผ ์ ์ฅํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ 1์ฐจ์ ๋ฐฐ์ด์ ์ด๋ป๊ฒ ๋ฌธ์์ด๋ก ๋ณํ๋ฉ๋๊น? ์์์ ๋ณธ ๊ฒ๊ณผ ๋๊ฐ์ต๋๋ค.
"๊ทธ๋ผ ์ด๋ป๊ฒ ํด์ผ ํ ๊น์? 2์ฐจ์ ๋ฐฐ์ด์ ์ฌ๋ฐ๋ฅด๊ฒ ํ์ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ ๊น์?"
"Java์ ์ ์์๋ ์ด๊ฒ์ ์์ํ์ต๋๋ค. ์ด๋ฅผ ์ํด Arrays
ํด๋์ค์๋ ๋ ๋ค๋ฅธ ํน์ ๋ฉ์๋๊ฐ ์์ต๋๋ค. deepToString()
. ํธ์ถํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
String str = Arrays.deepToString(name);
"์ด ๋ฉ์๋๋ 2์ฐจ์, 1์ฐจ์, 3์ฐจ์ ๋๋ ์ผ๋ฐ์ ์ผ๋ก ๋ชจ๋ ์ฐจ์์ธ ๋ฐฐ์ด์ ์ ๋ฌํ ์ ์์ผ๋ฉฐ ํญ์ ๋ฐฐ์ด์ ์์๋ฅผ ํ์ํฉ๋๋ค.
์:
|
๋ณ์ str ์๋ ๋ฌธ์์ด์ด ํฌํจ๋ฉ๋๋ค."[1, 2, 3]" |
|
๋ณ์ str ์๋ ๋ฌธ์์ด์ด ํฌํจ๋ฉ๋๋ค."[[1, 1], [2, 2], [3, 3]]" |
|
๋ณ์ str ์๋ ๋ฌธ์์ด์ด ํฌํจ๋ฉ๋๋ค."[[[1, 2, 3], [1]], [[]]]" |
Arrays.equals()
"์ฐ๋ฆฌ๋ ํ๋ฉด์ ๋ฐฐ์ด์ ํ์ํ๋ ๋ฐฉ๋ฒ์ ์์๋์ต๋๋ค. ๋ฐฐ์ด ๋น๊ต๋ ์ด๋ป์ต๋๊น? ๋ฌธ์์ด์ ๋น๊ตํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ ๊ธฐ์ตํ์ญ๋๊น?"
"๋ณดํต equals
๋ฐฉ๋ฒ์ ์ฌ์ฉํฉ๋๋ค!
"์, equals
๋ฐ ๋ํ equalsIgnoreCase
(๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์๊ณ ๋ฌธ์์ด์ ๋น๊ตํจ).
"์ข์ ์์: ๋ฐฐ์ด์ ๋ํ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ ์๋ ์์ต๋๋ค equals
. ๋์ ์์: ๋ฐฐ์ด์ ๋ด์ฉ์ ๋น๊ตํ์ง ์์ต๋๋ค. equals
๋ฐฐ์ด์ ๋ฉ์๋๋ ์ฐ์ฐ์์ ๋์ผํ ์์
์ ์ํํฉ๋๋ค ==
. ์ฐธ์กฐ๋ฅผ ๋น๊ตํฉ๋๋ค.
์:
|
false (์ฐธ์กฐ๊ฐ ๊ฐ์ง ์์) |
|
๋ฐฉ๋ฒ equals ์ arrays ๋จ์ํ ๋ ๋ฐฐ์ด์ ์ฐธ์กฐ๋ฅผ ๋น๊ตํฉ๋๋ค. false (์ฐธ์กฐ๊ฐ ๊ฐ์ง ์์) |
"๊ทธ๋์ ์ฐ๋ฆฌ๋ ๋ฌด์์ ํด์ผ ํฉ๋๊น? ๋ด์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ๋ฐฐ์ด์ ๋น๊ตํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํฉ๋๊น?"
"๋ค์ Arrays
ํด๋์ค๊ฐ ์ฐ๋ฆฌ๋ฅผ ๊ตฌํด์ค๋๋ค. ๋ ๊ตฌ์ฒด์ ์ผ๋ก, ๊ทธ Arrays.equals()
๋ฐฉ๋ฒ์
๋๋ค. ์ด๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ๋ถ๋ฅด๋ ๋ฐฉ๋ฒ์
๋๋ค.
Arrays.equals(name1, name2)
true
" ๋ฐฐ์ด์ ๊ธธ์ด๊ฐ ๊ฐ๊ณ ํด๋น ์์๊ฐ ๋์ผํ ๊ฒฝ์ฐ ๋ฉ์๋๊ฐ ๋ฐํ๋ฉ๋๋ค . ๊ทธ๋ ์ง ์์ผ๋ฉด ์ ๋ฐํํฉ๋๋ค false
.
์:
|
๋ฐฉ๋ฒ equals ์ arrays ๋จ์ํ ๋ ๋ฐฐ์ด์ ์ฐธ์กฐ๋ฅผ ๋น๊ตํฉ๋๋ค. false (์ฐธ์กฐ๊ฐ ๊ฐ์ง ์์) |
|
true (๋ด์ฉ์ ๋์ผํฉ๋๋ค) |
|
false (๋ฐฐ์ด์ ๋ด์ฉ์ด ๋ค๋ฆ) |
Arrays.deepEquals()
"๊ทธ๋ฆฌ๊ณ ์ด๋ฏธ ์ง์ํ์
จ๊ฒ ์ง๋ง ์ด Arrays.equals
๋ฐฉ๋ฒ์ 2์ฐจ์ ๋ฐฐ์ด์ ๋ํด ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ์ง ์์ต๋๋ค. ์ด ๋ฐฉ๋ฒ์ 2์ฐจ์ ๋ฐฐ์ด์ 1์ฐจ์ ๋ฐฐ์ด์ ์ฃผ์์ธ ์์๋ฅผ ๊ฐ์ง 1์ฐจ์ ๋ฐฐ์ด์ฒ๋ผ ์ทจ๊ธํฉ๋๋ค.
"๋ฐ๋ผ์ ๋ค์ฐจ์ ๋ฐฐ์ด( n = 1, 2, 3,...
)์ ์ฌ๋ฐ๋ฅด๊ฒ ๋น๊ตํ๊ธฐ ์ํด ๋ฉ์๋๋ฅผ ์๊ฐํด ๋์ต๋๋ค Arrays.deepEquals()
. ํธ์ถํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
Arrays.deepEquals(name1, name2)
" true
๋ฐฐ์ด์ ๊ธธ์ด๊ฐ ๊ฐ๊ณ ํด๋น ์์๊ฐ ๋์ผํ ๊ฒฝ์ฐ ๋ฉ์๋๊ฐ ๋ฐํ๋ฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ฐํ๋ฉ๋๋ค.false
. ๋ฐฐ์ด ๋ด๋ถ์ ์์๋ ๋ฐฐ์ด์ธ ๊ฒฝ์ฐ Arrays.deepEquals()
๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฅผ ๋น๊ตํ๋ ์์
๋๋ค.
์:
|
๋ฐฉ๋ฒ equals ์ arrays ๋จ์ํ ๋ ๋ฐฐ์ด์ ์ฐธ์กฐ๋ฅผ ๋น๊ตํฉ๋๋ค. false (์ฐธ์กฐ๊ฐ ๊ฐ์ง ์์) |
|
์ด ๋ฉ์๋๋ ์ฐธ์กฐ๋ฅผ ์ ์ฅํ๋ 1์ฐจ์ ๋ฐฐ์ด๊ณผ ๋น๊ต Arrays.equals ํฉ๋๋ค . ๊ทธ๋ค์ ๋ค๋ฅธ ์ฐธ์กฐ๋ฅผ ํฌํจํฉ๋๋ค. (๋ฐฐ์ด์ ๋ด์ฉ์ด ๊ฐ์ง ์์) x1 x2 false |
|
true (๋ด์ฉ์ ๋์ผํฉ๋๋ค) |
"๊ณ ๋ง์์, Rishi! ์ด ์์ ์ ๋ฏธ๋์ ๋ด ์ถ์ ๋ ์ฝ๊ณ ํ๋ณตํ๊ฒ ๋ง๋๋ ๋ฐ ๊ผญ ํ์ํ ๊ฒ์ ๋๋ค. ์ด์ Arrays ํด๋์ค์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๊ณ ๋ด ํ๋ก๊ทธ๋จ์ ํจ์ฌ ๋ ๋น ๋ฅด๊ฒ ์์ฑํ ๊ฒ์ ๋๋ค.
"๊ทธ๊ฒ ์ ๊ฐ ๊ธฐ๋ํ๊ณ ์๋ ๊ฒ์ ๋๋ค. ํํ. ํ์ง๋ง Arrays ํด๋์ค์ ํฅ๋ฏธ๋ก์ด ๋ฉ์๋๊ฐ ์ ๋ถ๋ ์๋๋๋ค. ๋ค์์ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ๋ํด ๋ง์๋๋ฆฌ๊ฒ ์ต๋๋ค."
GO TO FULL VERSION