chapter 7. ๋ฐฐ์—ด

๊น€ํ˜„์šฐยท2024๋…„ 4์›” 29์ผ
0

java

๋ชฉ๋ก ๋ณด๊ธฐ
4/12
post-thumbnail
์•ž์„  ์ฑ•ํ„ฐ์˜ ๊ฒฝ์šฐ ์—ฐ์‚ฐ์ž, ์ œ์–ด๋ฌธ์€ 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);
    }
}
์™€ ๊ฐ™์ด ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€