inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

김영한의 실전 자바 - 기본편

배열 도입 - 시작

배열 크기 자동으로 설정되나요?

125

dg845704

작성한 질문수 2

0

입문편에서는 배열의 크기를 입력하지 않고 데이터를 직접 넣어서 자동으로 크기를 설정할 수 있었는데

int[] students; 
students = new int[]{90, 80, 70, 60, 50};

강의에서 실습했던 코드

Student[] students = new Student[2];
students[0] = student1;
students[1] = student2;

여기에서 new Student[2]; 의 부분을 new Student[]={student1,student2}; 이렇게 고치면 자동으로 크기를 설정 해 주나요?

java 객체지향

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. dg845704님께서 질문하신 내용은 자바 배열의 초기화 방법 및 배열의 크기 자동 설정에 관한 것입니다.

자바에서 배열을 선언하면서 데이터를 직접 초기화할 때, 배열의 크기를 명시적으로 지정하지 않아도 초기화되는 데이터의 개수에 따라 배열의 크기가 자동으로 설정됩니다. 예를 들어, int[] students = new int[]{90, 80, 70, 60, 50};와 같이 사용할 경우, 데이터의 개수에 맞춰 배열의 크기가 5로 자동 설정됩니다.

그러나 배열의 크기를 명시적으로 지정하면서 자바 객체의 인스턴스를 생성할 때는 조금 다른데요. Student[] students = new Student[2]; 의 경우, 배열의 크기는 2로 고정됩니다. 만약, 질문처럼 new Student[]{student1, student2}; 와 같이 선언하면, 객체 배열의 크기가 student1, student2 가 제공된 개수에 맞춰 자동으로 설정됩니다. 이 방식도 배열 초기화를 + 객체 배열의 크기 자동 설정을 의미하며, 정확한 객체 인스턴스를 제공함으로써 가능한 것입니다.

이를 통해 자바에서 배열의 선언 및 초기화가 어떻게 이뤄지는지 이해를 돕기 위하여 유사한 질문이 논의된 내용을 볼 수 있는 링크를 제공드립니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

질문있습니다

0

23

1

1번 문제 질문입니다.

0

29

1

음악플레이어 문제 중 코드질문

0

24

1

9장 상속 문제와 풀이 질문

0

35

1

강의 자료에 사소한 오타가 있습니다.

0

46

2

매서드 참조값 반환??

0

63

1

접근제어자 - 쇼핑카트 문제에서 상품출력 부분 메서드

0

67

1

자바 기본편 - .(dot)에 관한 질문입니다!

0

83

1

공부방법

0

72

2

상속관계에서 멤버 변수는 오버라이딩 되는 개념이 아닌가요?

0

80

1

static method 질문

0

63

1

캡슐화 문제풀이 ShoppingCart 요구사항에 문제가 있어보입니다. 피드백 주세요

0

93

1

Method1에서 Student 객체

0

71

1

3강 18. null 질문

0

65

1

this 와 super의 호출 순서는 부모-자식관계 떄문만인가요?

0

73

1

팩토리 메서드 패턴과 일반 생성자 사용의 장단점

0

95

1

문의

0

102

1

9장 상속 문제와 풀이 부분 궁금한게 있어서 질문드립니다

0

87

1

상속과 그에 따른 메모리 구조 질문

0

59

1

call메소드에서 멤버에 접근하는 방식을 이해 못 했습니다

0

72

1

수강기한

0

133

1

기본편 객체지향 프로그래밍에 대한 정의

0

84

1

섹션10 상속 메모리 구조 및 문제 관련 질문

0

85

1

추가 지식 학습

0

150

2