์์ ์ฑํฐ์ ๊ฒฝ์ฐ ์ฐ์ฐ์, ์ ์ด๋ฌธ์ c์ ๋์ผํ๊ธฐ์ ์๋ตํ๋ค.
๐ป ๋ฐฐ์ด
ํ ๋ณ์์ ์ฌ๋ฌ๊ฐ์ ๊ฐ์ ๋ฃ์ ์ ์๊ฒ ๋์์ฃผ๋ ์๋ฃ๊ตฌ์กฐ
๐ ์ฌ์ฉ
์ ์ธ
์๋ฃํ [] ๋ฐฐ์ด์ด๋ฆ;
์๋ฃํ ๋ฐฐ์ด์ด๋ฆ [];
๋์ค ํ ๋ฐฉ๋ฒ์ผ๋ก ์ ์ธ์ ํ๋ ๋ณดํต ์์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค.
ํ ๋น
์์ฒ๋ผ ์ ์ธํ ๋ฐฐ์ด์๋ ๋ฐ์ดํฐ๊ฐ ๋ช๊ฐ๊ฐ ํ์ํ์ง ์์๊ฐ ์๋ค.
๋ฐ๋ผ์ ์ด๊ธฐํ๋ฅผ ํด์ค์ผํ๋ค.
์๋ฃํ [] ๋ฐฐ์ด์ด๋ฆ = new ์๋ฃํ[์ํ๋๊ฐ์];
int [] firstArray = new int[7];
์ฒ๋ผ ๋ง์ด๋ค. ์์ ๋งํ๋ฏ์ด new๋ก ์ด๊ธฐํํ๋ ๊ฒ๋ค์ ์ฐธ์กฐ ์๋ฃํ์ด๋ค.
๋ฐ๋ผ์ ๋ฐฐ์ด๋ ์ฐธ์กฐ ์๋ฃํ์ด๋ค.
๐ ๊ธฐ๋ณธ๊ฐ
๋ฐฐ์ด๋ ์ด๊ธฐํ๋ฅผ ํ์ง์์ผ๋ฉด ๊ธฐ๋ณธ๊ฐ์ด ์กด์ฌํ๋ค.
๋๊ฐ์ง ๊ฒฝ์ฐ๋ก ๋๋๋๋ฐ
1. ๊ธฐ๋ณธ ์๋ฃํ์ ๋ฐฐ์ด
2. ์ฐธ์กฐ ์๋ฃํ์ ๋ฐฐ์ด
๐ ๊ธฐ๋ณธ์๋ฃํ์ ๋ฐฐ์ด
๊ธฐ๋ณธ ์๋ฃํ์ ๋ฐฐ์ด์ ์ด๊ธฐํ ์ํค์ง ์์ผ๋ฉด ์ด๋ป๊ฒ ๋ ๊น?
ํ๋ฒ ์คํํด๋ณด์
์์ ๊ฐ์ด ๋ชจ๋ 0์ผ๋ก ์ด๊ธฐํ ๋จ์ ์์์๋ค.
๐ ์ฐธ์กฐ์๋ฃํ์ ๋ฐฐ์ด
๊ทธ๋ ๋ค๋ฉด ์ฐธ์กฐ ์๋ฃํ ๋ํ ๋๊ฐ์ด 0์ผ๋ก ์ด๊ธฐํ๊ฐ ๋ ๊น?
์์ง ์ฐธ์กฐ์๋ฃํ์ ๋ํด์๋ ์๋ชจ๋ฅด์ง๋ง String๊ณผ class์ ๋ฐฐ์ด์ ๋ง๋ค์ด์ ํด๋ณด์
ํด๋์ค์ ๋ฌธ์์ด์ ๋ฐฐ์ด์ ์ด๊ธฐํํ์ง ์์ผ๋ฉด null๊ฐ์ด ์๋์ผ๋ก ํ ๋น๋๋ค.
๐ ๋ฐฐ์ด ์์ฒด๋ฅผ ์ถ๋ ฅํด๋ณธ๋ค๋ฉด?
๊ทธ๋ ๋ค๋ฉด ๋ฐฐ์ด์ ๊ฐ์ด ์๋ ๋ฐฐ์ด ๊ทธ์์ฒด๋ฅผ ์ถ๋ ฅํด๋ณธ๋ค๋ฉด ์ด๋จ๊น?
public static void main(String[] args) {
referenceTypeInitValue []r1=new referenceTypeInitValue[1];
System.out.println(r1);
//System.out.println(new referenceTypeInitValue[1]);
System.out.println(new String[1]);
//r1[0].refreneceTypes();
}
์ ์ฐธ์กฐ์๋ฃํ์ ์ฌ์ฉํ ํด๋์ค์์ ๋ฉ์ธ๋ง ๋์๋ค.
๋ฐฐ์ด ๊ทธ์์ฒด๋ฅผ ์ถ๋ ฅํด๋ณด๋ฉด ๊ฒฐ๊ณผ๊ฐ
๋ค์๊ณผ ๊ฐ์ด ๋์จ๋ค.
c์์ ๋ฐฐ์ด์ ์ด๋ฆ์ ์ถ๋ ฅํ์๋์ ๋น์ทํ๊ฒ ์ฐธ์กฐ์๋ฃํ์ ์ด๋ฆ +์ฃผ์ ๋น์ค๋ฌด๋ฆฌ ํ๊ฒ์ด ๋์จ๋ค.
์ด๋ฅผ ๋ถ์ํด๋ณด๋ฉด
L(๋ฐฐ์ด์์ ๋ํ๋) + ์๋ฃํ + @ + ์๋ณ์ ์ ์์ผ๋ก ๋ํ๋๋ค.
์๋ณ์๋ c์ธ์ด์์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์์ ๋น์ทํ์ง๋ง ์ฃผ์๋ ์๋๋ค.
์ฐธ์กฐ ์๋ฃํ์ ๋ฐฐ์ด์ ์ถ๋ ฅํด๋ดค์ผ๋ฉด
์ด์ ๋ ๊ธฐ๋ณธ ์๋ฃํ์ ๋ฐฐ์ด์ ์ด๋ค ๊ฐ์ ๋ด์ฌ๊น?
์์ ๊ฐ์ด ๋์จ๋ค.
์ ๊ธฐํ์ ์ boolean๋ํ B๋ก ์์์ธ๋ฐ z๋ก ๋์จ๋ค๋ ๊ฒ์ด๋ค.
byte๊ฐ B๋ฅผ ์ ์ ํ์ฌ ์ด์ฉ์์์ด z๊ฐ ๋์๋ค๊ณ ํ๋ค.
๐ ๊ธฐํ
@๋ค์ ์ค๋ ์๋ณ์๋ ๋ณ์๋ง๋ค ๋ค๋ฅธ๊ฒ์ธ๊ฐ?
๋ค๋ฅด๋ค! ๋ณ์๋ง๋ค ํ ๋น๋๋ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค.
๐ ๋๋ค๋ฅธ ๋ฐฐ์ด ์ด๊ธฐํ
new ๋ง๊ณ ๋๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์กด์ฌํ๋ค.
์ค๊ดํธ๋ฅผ ์ด์ฉํ์ฌ ์ด๊ธฐํํ๋ ๋ฐฉ๋ฒ์ด ์๋ค.
์๋ฃํ [] ์ด๋ฆ = {์ํ๋ ์์๋ค};
int [] firstArray={1,2,3,4,5,6,7,8};
์์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ด๊ธฐํ๊ฐ ๊ฐ๋ฅํ๋ค.
์ด๋ ๋ฐ๋์ ์ฒ์ ์ ์ธํ ๋ ์ด๊ธฐํ๋ฅผ ๊ฐ์ดํด์ค์ผํ๋ค.
๋ณดํต "์ ๋ ๋ณ๊ฒฝ๋์ง ์๋ ๊ฐ"์ ์ง์ ํ ๋ ์ฌ์ฉํ๋ค.
๐ ์ด์ฐจ์ ๋ฐฐ์ด
2์ฐจ์ ๋ฐฐ์ด์ ์ด๋ฆ์์๋ถํฐ ์์์๋ฏ์ด ๋ฐฐ์ด์ ๋ฐฐ์ด์ด๋ค.
ํ๋ ฌ๊ณผ ๊ฐ์ผ๋ฉฐ
์๋ฃํ [ํ][์ด]๋ณ์์ด๋ฆ;
int [ํ][์ด]twoDim;
int [][]arr=new int [3][5]; ์ ๋ง๋ค๋ฉด
๋ค์ ์ฌ์ง๊ณผ ๊ฐ์ด ๋ง๋ค์ด์ง๋ค.
๐ ๋ฐฐ์ด์ ๊ธธ์ด ํ์ธ
๋ฐฐ์ด ์ด๋ฆ์ .length๋ง ๋ถ์ด๋ฉด ๋์จ๋ค.
System.out.println("byteArray length = "+byteArray.length);
์ด๋ฐ์์ผ๋ก ์ฌ์ฉ๊ฐ๋ฅํ๋ค.
2์ฐจ์ ๋ฐฐ์ด์ ๊ฒฝ์ฐ๋ ๊ณ ๋ฏผ์ด๋๋ค.
int [][]arr = new int [3][5]; ๋ผ๋ ๋ฐฐ์ด์ด ์กด์ฌํ ๋
arr.length๋ ํ์ ํฌ๊ธฐ์ธ 3์
arr[n].length๋ ์ด์ ํฌ๊ธฐ์ธ 5๋ฅผ ๋ฐํํ๋ค.
๐ ๋ฐฐ์ด๊ณผ for ๋ฃจํ
c์์ ๋ฐฐ์ด์ ์ฌ์ฉํ ๋๋ ์ธ๋ฑ์ค๋ก ์ฒ๋ฆฌ๋ฅผ ํด์ค์ผํ๋ค.
ํ์ง๋ง ์๋ฐ์์๋ ์๋ก์ด ๋ฐฉ๋ฒ์ด ์๋ค.
for(์๋ฃํ ์์๋ณ์๋ช
: ๋ฐ๋ณต๋์๊ฐ์ฒด){
}
๋ก ์ฌ์ฉํ๋ฉด ์์์ ๊ฐ์ฒด์ ์ฒซ๋ฒ์งธ๋ถํฐ ๋ง์ง๋ง๊น์ง ์์๋๋ก ๋๋ค.
public class forLoopAndArray {
public static void main(String[] args) {
forLoopAndArray fLAA = new forLoopAndArray();
fLAA.newFor();
}
public void newFor(){
int []oneDim={1,2,3,4,5,6,7,8,9,10};
for(int data:oneDim)
System.out.println(data);
}
}
์ ๊ฐ์ด ์ฌ์ฉ๊ฐ๋ฅํ๋ค.