배열과 클래스의 관계
- 동일한 구조와 이질적인 구조
배열은 동일한 데이터(한가지 타입)로 이루어져 있고 클래스는 이질적인 데이터(다른 타입)로 구성되어 있다.
public class StudentTest {
public static void main(String[] args) {
// Q. 정수 6개를 저장할 배열을 생성하세요.
int[] arr = new int[6];
arr[0]=10;
arr[1]=30;
arr[2]=67;
arr[3]=98;
arr[4]=55;
arr[5]=32;
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
// Q. 잘 설계된 학생(Student) 객체를 설계하고 데이터를 저장 한 후 출력하세요.
Student vo = new Student("홍길동","컴퓨터공학과",37,"bit@empas.com",2023110,"010-1111-1111");
System.out.println(vo);
}
}
기본 배열과 객체 배열의 관계
객체 배열 : 기억 공간 하나하나에 들어가는 데이터가 객체인 배열, 각각의 객체가 heap 메모리에 생성된다.
- 자바에서 배열은 하나의 객체로 취급한다.
- 객체 배열 : 객체를 저장하고 있는 배열
public class StudentArrayTest {
public static void main(String[] args) {
// Q.[객체배열]을 이용하여 4명의 학생(Student) 데이터를 저장하고 출력하세요
Student[] std = new Student[4];
std[0]=new Student("홍길동","컴공",33,"bit@empas.com",2023110,"010-1111-1111");
std[1]=new Student("나길동","전기",43,"bit@empas.com",2023111,"010-1111-2222");
std[2]=new Student("김길동","건축",25,"bit@empas.com",2023112,"010-1111-3333");
std[3]=new Student("이길동","통신",51,"bit@empas.com",2023113,"010-1111-4444");
for (int i = 0; i < std.length; i++) {
System.out.println(std[i].toString());
}
// enhanced for 문
for(Student st : std){
System.out.println(st.toString());
}
}
}
💡 Enhanced For Loop
- 기존 For Loop
for(초기값 ; 조건식 ; 증감식) { // }
- 향상된 Enhanced For Loop
for(초기화 : 배열) { // }
Enhanced For Loop 장단점
장점 :
1) 배열의 크기를 조사할 필요가 없다.
2) 반복문 본연의 반복문 구현에 집중하여 구현할 수 있다.
단점 :
1) 배열에서만 사용가능하고, 배열의 값을 변경하지 못하는 단점이 있습니다.
'개발 > Java' 카테고리의 다른 글
JVM이 사용하는 메모리 영역 (0) | 2024.01.28 |
---|---|
Static (0) | 2024.01.28 |
정보 은닉 (0) | 2024.01.28 |
패키지(Pakage) (0) | 2024.01.28 |
모델(Model) (0) | 2024.01.28 |