생활코딩

Coding Everybody

코스 전체목록

닫기

배열

배열

배열(Array)은 연관된 정보를 그룹핑 하는데 사용한다. 이해를 돕기 위해서 비유를 들어보겠다. (비유는 이해를 돕기 위한 것일 뿐이다. 비유가 오히려 이해에 방해될 수 있다. 비유가 도움되지 않는다면 뒤에서 언급될 기술적인 설명을 보자.)

상수의 사용

변수에 상수를 대입하는 것과 변수에 배열을 대입하는 것의 차이를 학급의 예를 들어서 생각해보자. 1반에는 50명의 학생이 있다. 각각의 학생들은 각자의 이름이 있다. 이것을 상수라고 치자. 반장과 부반장을 뽑았다. 그럼 아래와 같이 될 것이다. 최진혁과 최유빈이라는 상수를 반장과 부반장이라는 변수에 대입했다. 이것을 코드화해보자. 이것은 실제로는 동작하지 않는 의사코드이다.

반장 = '최진혁';
부반장 = '최유빈';

이것의 효용은 분명하다. 교실에 들어온 선생님은 그 반의 반장이 정확하게 누군지 몰라도 반장에게 어떠한 지시를 내릴 수 있다. 반장이 전학을 가서 부반장이 반장이 되었다고 해도 아무 문제 없이 반장에게 지시할 수 있다. 이것이 변수와 상수의 관계라고 할 수 있다.

배열의 사용

이번에는 1반이라는 개념을 통해서 배열에 대해서 생각해보자. 학급을 나누는 이유는 학생들을 관리하기 위해서 일 것이다. 학교에 1000명의 학생이 있는데 이 학생들에게 학급을 부여하지 않는다면 큰 혼란이 올 것이다. 예를 들어서 학생 상담을 한다고 해보자. 이를 위해서 1000명의 학생들을 대상으로 한사람 한사람 호명한다면 대단히 비효율적인 일이 될 것이다. 이제 반이라는 개념을 도입해보자. 1반 학생들 상담 받으러 오세요.라고 하면 된다. 이것을 코드로는 아래와 같이 표현한다.

1반 = {'최진혁', '최유빈', ...., '이고잉'}

1반은 변수고, 최진혁, 최유빈, 이고잉 외 47명의 학생은 이 변수에 소속된 상수가 되는 것이다.

 

배열의 개념

배열에 대한 기술적인 설명을 시작해보자. 배열은 연관된 데이터를 모아서 관리하기 위해서 사용하는 데이터 타입이다. 변수가 하나의 데이터를 저장하기 위한 것이라면 배열은 여러 개의 데이터를 저장하기 위한 것이라고 할 수 있다.

배열의 생성

배열을 생성하는 방법을 알아보자. (실행)

package org.opentutorials.javatutorials.array;

public class DefineDemo {

    public static void main(String[] args) {

		String[] classGroup = { "최진혁", "최유빈", "한이람", "이고잉" };

	}

}

String[] classGroup에서 classGroup은 배열이 담길 변수의 이름이다. String[]은 classGroup에 담을 배열에 담길 데이터의 타입이 문자열의 배열이라는 의미다. 배열을 선언할 때는 데이터 타입 뒤에 []를 붙여야 한다. []가 없다면 classGroup는 배열이 아니라 문자열 데이터 타입을 갖는 변수가 된다. 배열에 소속될 데이터들은 중괄호 안에 위치한다. 그리고 각각의 데이터들은 쉼표로 구분된다.

배열의 첫 번째 역할은 연관된 데이터를 저장하는 것이다. 위의 예제는 데이터를 저장하는 컨테이너로서 배열의 면모를 잘 보여주고 있다. 저장했으면 저장한 것을 꺼내오는 이슈가 생긴다. 아래의 예제는 배열에 담겨있는 데이터를 꺼내오는 방법을 보여준다. (실행)

package org.opentutorials.javatutorials.array;

public class GetDemo {

    public static void main(String[] args) {
		String[] classGroup = { "최진혁", "최유빈", "한이람", "이고잉" };
		System.out.println(classGroup[0]);
		System.out.println(classGroup[1]);
		System.out.println(classGroup[2]);
		System.out.println(classGroup[3]);

	}

}

결과는 아래와 같다.

최진혁
최유빈
한이람
이고잉

classGroup[0] 처럼 배열이 담겨있는 변수의 이름 뒤에 대괄호를 붙이고 그 안에 0부터 시작하는 숫자를 입력하면 순차적으로 값을 가져올 수 있다.

다음 예제는 배열을 정의하는 다른 방법과 배열에 담겨 있는 값의 수를 알아내는 방법을 보여준다. (실행)

package org.opentutorials.javatutorials.array;

public class LengthDemo {

    public static void main(String[] args) {
		String[] classGroup = new String[4];
		classGroup[0] = "최진혁";
		System.out.println(classGroup.length);
		classGroup[1] = "최유빈";
		System.out.println(classGroup.length);
		classGroup[2] = "한이람";
		System.out.println(classGroup.length);
		classGroup[3] = "이고잉";
		System.out.println(classGroup.length);

	}

}

위의 결과는 아래와 같다.

4
4
4
4

.length는 배열에 실제 담긴 데이터의 숫자를 의미하는 것이 아니라 배열을 처음 생성할 때 지정한 배열의 크기를 의미한다는 점을 주의하자.

지금까지 알아본 배열의 개념을 정리해보자.

위와 같이 배열에 담긴 각각의 데이터를 원소(element)라고 한다. classGroup[1]은 최유빈이다. 여기서 숫자 1은 원소 최유빈을 식별하는 식별자이다. 이러한 식별자를 인덱스라고 부른다. 이 식별자는 중복되면 안 되기 때문에 데이터를 입력할 때 자동으로 1씩 증가되면서 만들어진다. 이 배열이 담을 수 있는 원소의 개수를 length라고 한다. 위의 그림에 따르면 classGroup의 길이는 4가 된다. length는 배열에 담긴 원소의 숫자가 아니라 배열을 선언할 때 지정한 배열이 담을 수 있는 값의 크기를 의미한다.

배열의 사용

학교 비유를 조금만 더 활용해보자. 1반 학생들이 상담을 받는다고 했을 때 이 사건에는 다음과 같은 절차가 함축되어 있다고 할 수 있다.

  1. 1반 학생들을 번호순으로 정렬해서 줄을 세운다.
  2. 상담받은 학생의 숫자를 기록한다.
  3. 대기중인 학생과 상담을 한다.
  4. 상담받은 학생의 수를 1 증가시킨다.
  5. 총원보다 상담받은 학생의 수가 작다면 3번 절차로 돌아간다.
    총원과 상담받은 학생의 수가 같다면 상담을 종료하고 업무를 계속한다.

위의 과정을 프로그래밍 언어로 그대로 옮겨보자. (실행)

package org.opentutorials.javatutorials.array;

public class ArrayLoopDemo {

    public static void main(String[] args) {

		String[] members = { "최진혁", "최유빈", "한이람" };
		for (int i = 0; i < members.length; i++) {
			String member = members[i];
			System.out.println(member + "이 상담을 받았습니다");
		}

	}

}

결과는 아래와 같다.

최진혁이 상담을 받았습니다
최유빈이 상담을 받았습니다
한이람이 상담을 받았습니다

위의 예제에서 주목해야 할 것은 반복문과 배열을 결합한 부분이다. 반복문을 이용해서 배열 members의 내용을 하나씩 꺼낸 후에 상담 결과를 화면에 출력하고 있다. 배열이란 연관된 정보를 하나의 그룹으로 관리하기 위해서 사용하는데 그 정보를 처리 할 때는 반복문을 주로 이용한다. 반복문과 배열은 매우 밀접한 관계에 있다고 할 수 있다.

for-each

배열의 내용을 탐색할 때 for 문을 좀 더 간편하게 사용할 수 있는 방법이 있다. 아래 코드를 보자. (실행)

package org.opentutorials.javatutorials.array;

public class ForeachDemo {

    public static void main(String[] args) {
		String[] members = { "최진혁", "최유빈", "한이람" };
		for (String e : members) {
			System.out.println(e + "이 상담을 받았습니다");
		}
	}

}

위의 예제는 이전 예제와 정확하게 동일하게 동작한다. 하지만 문법적으로는 간결해졌다. 

for(String e : members)

위의 구문은 배열 members의 값을 변수 e에 담아서 중괄호 구간 안으로 전달해준다. 반복문의 종료조건이나 종료조건을 위해서 기준값을 증가시키는 등의 반복적인 작업을 내부적으로 감춘 것이라고 할 수 있다. 자바 5.0부터 도입된 기능이다.

이클립스에서 오류가 발생한다면 아래와 같이 자바의 버전을 변경해주자. 가장 높은 버전으로 지정한다.

오류

배열을 사용할 때 흔히 발생하는 오류를 살펴보자. (실행)

String[] members = { "최진혁", "최유빈", "한이람" };
System.out.println(members[3]);		
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
    at ot_array.ExceptionDemo.main(ExceptionDemo.java:7)
우리가 아직 예외를 배우지는 않았기 때문에 위의 내용은 그냥 오류라고만 언급하겠다.

ArrayIndexOutOfBoundsException은 존재하지 않는 인덱스를 사용하려고 했을 때 발생한다. 배열 members는 인덱스가 2까지 존재하는데 3을 사용했기 때문에 발생한 오류이다. 비유하자면 교실에 50명의 학생이 있는데 51번 학생을 호명한 셈이다. 아래는 동일한 오류를 발생시킨다. (실행)

String[] members = new String[3];
members[0] = "최진혁";
members[1] = "최유빈";
members[2] = "한이람";
members[3] = "이고잉";

배열을 선언 할 때 이 배열의 크기를 3개의 문자열을 수용할 수 있는 크기로 지정했는데 더 많은 데이터를 추가하려고 하기 때문에 발생한 에러다. 50명을 수용 할 수 있는 교실에 51명을 억지로 집어넣으려고 하면서 발생한 오류라고 할 수 있다.

 

배열의 한계

배열은 초기화할 때 그 크기가 정해진다. 그래서 정해진 크기 이상의 값을 넣을 수 없다. 비유하면, 학생의 수요를 예측하고 그에 따라서 교실을 지으면 그 이상의 학생을 수용 할 수 없는 것과 같다. 부시고 다시 짓든지 새로운 교실을 만들든지 해야 한다. 이러한 한계는 c와 같은 언어에 익숙한 사람에게는 당연한 것이지만, JavaScript나 Python, PHP와 같은 언어에 익숙한 사람에게는 의아할 것이다. 후자의 언어들은 배열의 크기를 미리 정의하고 사용하지 않는다. 물론 방법이 있다. 자바에는 컬렉션 Collection이라는 기능이 있다. Container라고도 부르는 이 기능을 이용하면 JavaScript의 배열과 같이 유연하게 배열을 사용할 수 있다. 컬렉션은 매우 중요한 주제이지만 지금 단계에서는 이것을 이해하기 위한 부품이 부족하다. 객체지향에 대해서 일정한 이해가 있을 때 컬렉션에 대해서도 온전하게 이해할 수 있기 때문이다.

Designed by Yair Cohen

댓글

댓글 본문
작성자
비밀번호
  1. 2019-09-19 수강완료
  2. PassionOfStudy
    190908 Note(토요일 하루 쉼... Skip)
    * 배열
    배열(Array)는 연관된 정보를 그룹핑 하는데 사용한다.
    배열이란? 연관된 데이터를 모아서 관리하기 위해서 사용하는 데이터타입이다.
    ex) classGroup[1] = "최유빈" []안의 1은 식별자라고 하고 실제 값들은 요소(element)라고 한다.

    배열의 한계)
    배열은 초기화할 때 그 크기가 정해지므로 정해진 크기 이상의 값을 넣을 수 없다.
    하지만 자바의 Collection이라는 기능은 배열의 크기를 유연하게 만들어준다.
  3. 사랑해요
    감사합니다./ 아주 좋아요
  4. 홍주호
    20190903 완료
  5. doevery
    수강완료
  6. 다나가
    190820 - 수강완료!!!!!
  7. 김혜민
    for(String e : members) - 자바 최신 버전에서 제공하는 반복문,
    for(members가 갖고 있는 데이터 타입, 배열형태의 값) {}

    배열의 인덱스 시작은 0부터 시작합니다
    배열은 index로 값을 찾습니다.
    어떻게 배열을 선언하고, 값을 넣고, 꺼내는지 숙지 해야합니다.

    좋은 강의 감사합니다
  8. Hyeon-Jun Ha
    완료
  9. 진한
    잘봤습니다. ^^
  10. 도움이 됐다니 뿌듯합니다! 저것 이외에도 이유가 있을텐데 아무리 고민해봐도 제 수준에서는 떠오르지 않아요. 아시는분 추가댓글 부탁드립니다!
    대화보기
    • main 내 다른 변수와 연계되서 발생될 수 있는 문제를 방지하기 위해서 for 문 내에서 변수를 재선언해서 사용후 폐기함으로 이를 해결한다는 답변 감사합니다! 잘 이해했고 앞으로 코딩할때 발생될 문제도 줄일 수 있을 꿀팁 감사합니다! 좋은 하루되세요!
      대화보기
      • For loop 내에서 선언된 요소는 해당 loop 내에서만 사용되고 해당 loop가 끝나면 사라집니다(폐기됩니다). 이를 해당 변수의 scope는 for 문 내에 있다고도 합니다. 이는 for 문 내에서만 접근 가능하다는 의미이기도 합니다. 위 예제의 코드는 members 변수의 값을 프린트 하는 데 그쳤지만 때로는 값을 변화시키는 경우도 생깁니다. members의 scope는 main 함수인데, 이를 for문 내에서 그대로 사용하게 되면 원하지 않는 데이터의 변화를 줄 수 있으며 이는 for문 뒤에서 members를 쓰는 모든 코드에 영향을 줍니다. 이렇게 발생된 에러는 문제의 시작을 찾기 난감합니다. 그렇기에 loop 내에서 main에서 사용되는 변수를 가져다 쓸 때는 loop 내에 scope를 가지는 변수를 재선언 해 주고(member)이를 사용 하는 경우 문제가 눈덩이처럼 커지는걸 막을 수 있습니다. 즉 loop 내에서 선언한 member의 값을 변화시켰다 하더라도 for 문이 끝나면 member는 폐기되고 members는 그대로 유지되어 for문 외부에 영항을 주지 않게 됩니다.
        대화보기
        • 예제에서

          String member = members[i]; 를 넣으신 이유가 궁금합니다!
          왜냐하면 아래처럼
          System.out.println(member[i] + "이 상담을 받았습니다");
          로 수정해서 코드를 돌려도 문제없이 실행되는데 왜 따로 문자열 데이터 타입의 변수를 지정하셨는지 궁금합니다!

          package org.opentutorials.javatutorials.array;

          public class ArrayLoopDemo {

          public static void main(String[] args) {

          String[] members = { "최진혁", "최유빈", "한이람" };
          for (int i = 0; i < members.length; i++) {
          System.out.println(members[i] + "이 상담을 받았습니다");
          }

          }

          }
        • 얼그레이
          190701 파이썬과 비슷하면서도 다르네요 다음 강의도 기대되네요!! 감사합니다 :)
        • 6/17시작
          6/20 완료
        • 이현정
          완료옹
        • 자바2주차
          for each 는 1차원 배열만 사용할수있나요?
          2차원 배열, 다차원 에서는 사용할수는 없나요?
        • 목단비국화차
          완료
        • 야근요정
          거의 다와간다......열심히
        • 에듀케이티드키드
          후 쉽지않네요
        • 지미츄
          감사합니다
        • 김동현
          감사합니다
        • silver94
          감사합니다 잘들었습니다~
        • ZANYABI
          배열의 개념
          String a="코딩" Int a=0 이렇게 변수는 하나의 변수에 하나의 값을 할당합니다.
          배열은 이와 다르게, 하나의 변수에 여러가지 값을 할당하는데 쓰입니다.

          배열의 사용법
          String[] class={"생", "활", "코", "딩"} 이렇게 데이터타입 뒤에 [] 를 붙이면 컴퓨터는 이를 배열로 인식합니다.
          System.out.println(class[0]) 은 "생", class[1]="활" class[2]="코" class[3]="딩" 이렇게 변수[ ] 안의 넘버링에 맡게 배열 안의 문자를 출력합니다.

          여기서 [0] 과 같은 넘버링을 'index'
          {"생", "활"} 과 같은 원소를 'element'
          원소를 담을수 있는 최대개수를 'length' 라고 합니다.


          배열을 표현하는 다른 방법
          String[]class = new String[4]
          class[0] = "생"
          class[1] = "활"
          class[2] = "코"
          class[3] = "딩"

          마찬가지로 length, element, index 요소를 가집니다.
        • YukiHo
          감사합니다~
        • newjava
          공부하는데 많은 도움이 됩니다
        • 라또마니
          잘 보고 있습니다. java 기초를 무난하게 이해할 수 있어서 너무 기뻐요~
        • 호두
          고맙습니다.
        • 2019.02.09완료
        • j-graphy
          2019. 2. 1. 학습 완료
        • 빵가루
          이클립스 사용하신다면
          상단 메뉴 Project - properties - java compiler - Enable project specific settings 체크 - Compiler를 1.5 이상으로 변경하시면 됩니다.

          For each가 1.5 이상부터 지원이네요
          대화보기
          • 2차원배열
            2차원 배열에 대해서 가르쳐주세요
          • http://www.adidaseqts.com
            http://www.yesyeezy.shop......tml
            http://www.curry5.us.com
            http://www.goldengoose-sneakers.com
            http://www.yesyeezy.shop......tml
            http://www.nfljerseys.us.org
            http://www.nikereact.org
            http://www.goldengoose.us.com
            http://www.yslhandbags.net
            http://www.adidasyeezy.co.uk
            http://www.curry4shoes.us.com
            http://www.yeezysuk.com
            http://www.jordansshoes.us.org
            http://www.yesyeezy.shop......tml
            http://www.michaelkors-outletstore.com
            http://www.adidasgazelle.us.com
            http://www.nike-hyperdunk.us.com
            http://www.chromeheartsstore.us
            http://www.valentinos.us.com
            http://www.bapehoodie.us
            http://www.yesyeezy.shop......tml
            http://www.converseoutlet.us.com
            http://www.nhljerseys.us.org
            http://www.canada--goose.co.uk
            http://www.redbottom-shoes.us.com
            http://www.filashoes.org
            http://www.fakerolex.us.com
            http://www.vans-shoes.us.org
            http://www.yesyeezy.shop......tml
            http://www.fila-shoes.us.com
            http://www.hermesonlineshop.com
            http://www.hardenshoes.us.com
            http://www.outletmichael-kors.us.com
            http://www.jordan13.us.com
            http://www.adidas-tubular.us.com
            http://www.golden-goose.us.com
            http://www.curry4.us.com
            http://www.guccibelt.us.com
            http://www.hermes-birkin.us.com
            http://www.goyard-handbags.us.com
            http://www.shoesjordan.us.com
            http://www.nikeairforce1.us.com
            http://www.jordanssneakers.us.com
            http://www.adidasstansmith.uk
            http://www.offwhiteclothing.us.com
            http://www.adidasultraboost.us.org
            http://www.monclerjacket.net
            http://www.fitflops-saleclearance.us.com
            http://www.longchamphandbagsoutlets.com
            http://www.longchamphandbagsonlines.com
            http://www.kobesneakers.com
            http://www.yeezy-500.us.com
            http://www.jordanshoes.org.uk
            http://www.lebron16.us
            http://www.polosralphlaurenuk.com
            http://www.hermes-belt.us.com
            http://www.hermes-handbags.us.com
            http://www.offwhitehoodie.us.com
            http://www.yesyeezy.shop......tml
            http://www.calvinkleinoutlet.us.com
            http://www.birkinbag.us.com
            http://www.pandorabracelet.in.net
            http://www.monclerjackets.us
            http://www.goyardbags.us
            http://www.jordansforcheap.us.com
            http://www.yeezysshoes.us.com
            http://www.mbtshoesonline.com
            http://www.goyardhandbags.org
            http://www.nikesneakers.us.com
            http://www.cheap-airjordans.us.com
            http://www.nike-airmax2017.us.com
            http://www.yesyeezy.shop......tml
            http://www.kd11.us
            http://www.paulgeorgeshoes.us.com
            http://www.offwhite.us.com
            http://www.jimmychoo-shoes.us.com
            http://www.outletonline-michaelkors.us.org
            http://www.nikeflyknit.us.com
            http://www.yeezy-boost.us.com
            http://www.yeezyshoesuk.com
            http://www.nike-roshe.us.com
            http://www.hermeshandbags.us.org
            http://www.nike-shox.us.com
            http://www.adidasoutletonline.com
            http://www.vans-outlet.us.com
            http://www.michaelkors-outletfactory.us.org
            http://www.outlettimberland.us.org
            http://www.yeezy-shoes.org.uk
            http://www.cheapnbajerseyswholesales.us.com
            http://www.kobebasketballshoes.net
            http://www.adidasstansmith.us.com
            http://www.supremehoodie.us.com
            http://www.yeezyboost-350.uk
            http://www.michael--korsoutlet.us.org
            http://www.airmax270.us.com
            http://www.yesyeezy.shop......tml
            http://www.jordan-retro.us.com
            http://www.long-champhandbags.org.uk
            http://www.kd11.us.com
            http://www.air-max.us.com
            http://www.jordan6.us.com
            http://www.michael-kors-handbags.com.co
            http://www.yeezy-boost350.us.com
            http://www.yesyeezy.shop......tml
            http://www.coachsonline.us.com
            http://www.yesyeezy.shop
            http://www.nikejordans.us.com
            http://www.ultraboost.us.com
            http://www.yeezyboost.in.net
            http://www.yeezyboost.com.co
            http://www.linksoflondonus.com
            http://www.nikecortez.us.com
            http://www.asicsgelkayano.us.com
            http://www.coachoutletstorefactory.com
            http://www.mlbjerseys.in.net
            http://www.curry5.us
            http://www.airmax90.us.org
            http://www.ferragamobelt.us.org
            http://www.nikepolo.us
            http://www.michaeljordanshoes.us.com
            http://www.outletlacoste.us.com
            http://www.michael-korsoutlets.us
            http://www.off-whiteshoes.us.com
            http://www.chromehearts.com.co
            http://www.adidas-nmds.us.com
            http://www.yeezy-shoes.us.org
            http://www.jordan12.us.com
            http://www.jordan4.us.com
            http://www.nikefoamposite.us.com
            http://www.katespadehandbags-outlet.us.com
            http://www.adidasnmduk.com
            http://www.toryburchs.us
            http://www.yeezy500.us
            http://www.kobeshoes.uk
            http://www.asics-shoes.us.org
            http://www.adidasyeezys.us
            http://www.coachoutletssale.com
            http://www.filas.us.com
            http://www.kyrieirving-shoes.us.com
            http://www.linksoflondon.us.com
            http://www.nikereact.us.com
            http://www.ferragamobelt.us
            http://www.nikebasketballshoes.us.com
            http://www.lebronjames-shoes.us.com
            http://www.goldengoosesneakers.us
            http://www.yeezy-shoes.org
            http://www.adidasyeezys.us.com
            http://www.nikeairmax2019.us.com
            http://www.kyrie4.org
            http://www.fila.us.org
            http://www.yesyeezy.shop/offwhite-x-nike-air-presto-black-aa3830002-p-291.html
            http://www.nikehuaracheshoes.us.com
            http://www.goyard.us.com
            http://www.adidasiniki.us
            http://www.adidas-pureboost.us.com
            http://www.yesyeezy.shop/adidas-yeezy-boost-350-v2-cream-white-cp9366-p-423.html
            http://www.kd-10.us
            http://www.yeezy700.us.com
            http://www.reebokoutlet.us.org
            http://www.monclersoutlet.us.com
            http://www.lacosteonlineshop.us.com
            http://www.michaelkorsoutletonlineus.com
            http://www.kobe-shoes.us.com
            http://www.kevindurant-shoes.us.com
            http://www.jordan11retro.us.com
            http://www.yeezy-shoes.ca
            http://www.coachoutletsfactory.com
            http://www.handbagsmichaelkors.com
            http://www.yesyeezy.shop/supreme-x-nike-air-more-uptempo-varsity-redwhite-902290600-p-592.html
            http://www.goldengoose-sneakers.us
            http://www.hoganoutletonline.us.com
            http://www.adidas-crazyexplosive.us.com
            http://www.nike-huarache.com
            http://www.vapormaxshoes.us
            http://www.michaelkors-outletonlines.us.com
            http://www.airjordanretro.uk
            http://www.yesyeezy.shop/balenciaga-17fw-triple-s-black-pink-women-sneaker-483523w06e38080-p-618.html
            http://www.balenciagashoes.us.com
            http://www.adidassuperstar.us.com
            http://www.michael-kors-handbags.org.uk
            http://www.lacostepolosshirts.com
            http://www.lebron16.us.com
            http://www.caterpillarboots.us.com
            http://www.nikeair-max.us.com
            http://www.goyardhandbags.us.com
            http://www.balenciagashoes.us.org
            http://www.yeezyboost-350v2.us.com
            http://www.adidaszxflux.com
            http://www.adidasnmds.com
            http://www.lebron15.net
            http://www.kyrie3.us.com
            http://www.adidasshoesonline.com
            http://www.coachoutlets.name
            http://www.nikeairmax2018.us.com
            http://www.hermesbelts.com
            http://www.balenciaga.us.com
            http://www.lebron16.net
            http://www.goldengoose-outlet.us.com
            http://www.hermesbelts.co.uk
            http://www.retro-jordans.us.com
            http://www.chromehearts.name
            http://www.rolex-replica.us.com
            http://www.goldengooseoutlet.us
            http://www.louboutinshoes.uk
            http://www.yeezyboost350v2shoes.us.com
            http://www.offwhitexjordan1.com
            http://www.yeezyboost350v2.org.uk
            http://www.lacostepolo.us.com
            http://www.russellwestbrookshoes.us.com
            http://www.yeezy-boosts.us.com
            http://www.longchamp-bags.us.org
            http://www.long-champ.us.com
            http://www.bape-hoodie.us.com
            wwwe
          • 전민희
            2018.10.02 완료!
          • 1.880093825911787
            배열은 초기화할 때 그 크기가 정해진다. 그래서 정해진 크기 이상의 값을 넣을 수 없다. 비유하면, 학생의 수요를 예측하고 그에 따라서 교실을 지으면 그 이상의 학생을 수용 할 수 없는 것과 같다. 부시고 다시 짓든지 새로운 교실을 만들든지 해야 한다. 이러한 한계는 c와 같은 언어에 익숙한 사람에게는 당연한 것이지만, JavaScript나 Python, PHP와 같은 언어에 익숙한 사람에게는 의아할 것이다. 후자의 언어들은 배열의 크기를 미리 정의하고 사용하지 않는다. 물론 방법이 있다. 자바에는 컬렉션 Collection이라는 기능이 있다. Container라고도 부르는 이 기능을 이용하면 JavaScript의 배열과 같이 유연하게 배열을 사용할 수 있다. 컬렉션은 매우 중요한 주제이지만 지금 단계에서는 이것을 이해하기 위한 부품이 부족하다. 객체지향에 대해서 일정한 이해가 있을 때 컬렉션에 대해서도 온전하게 이해할 수 있기 때문이다.

            으음...
            그렇군
          • Daydream
            감사합니다 20180918
          • 장은정
            강의 감사합니다~!!^^
          • 이준송
            좋아요!!!~~!~!~ 진짜 도움 많이됩니다 진짜진짜루
          • 이지선
            2018.09.01 완료
          • 전민희
            완료
          • 완료
          • 산성비
            정말 쉽게 잘설명해주셔서 감사합니다.
          • 야부키죠
            존나어렵네 어려워뒤지겠네요
          • 미니
            좋은 강의 알게되어서 기뻐요.
          • 멀캠A_Son
            완료
          • 이태호
            6/27
          • Ra Yo
            감사합니다
          • 4월 30일 배열
          • 열정하나
            감사합니다 4월 25일

            자바는 파이썬과 다르게
            객체수 부터 생각해야한다.

            ㅇㅋ~염~
          • 송영일
            20180424
          버전 관리
          egoing
          현재 버전
          선택 버전
          graphittie 자세히 보기