공부 기록/Java with ChatGPT
[Java/ChatGPT] Day 3: 객체 배열과 반복문 활용하기
dev.jelee
2025. 6. 9. 18:14
[ 학습 목표 ]
- 클래스 배열 선언과 초기화
- for문 / 향상된 for문(for-each)으로 순회
- 여러 객체에 대해 같은 메서드 실행하기
- 간단한 객체 리스트 시스템 만들기
[ 이론 ]
1. 객체 배열이란?
- 클래스를 하나만 사용하는게 아니라 여러 개를 배열로 묶어서 관리하는 것.
Book[] books = new Book[3];
=> 이렇게 하면 Book 객체 3개를 담을 수 있는 배열을 만든다는 의미.
=> 아직 객체는 만들어지지 않았고, null 상태로 존재하는 상태임.
2. 객체를 배열에 넣기
books[0] = new Book("개미", "베르나르 베르베르");
books[1] = new Book("데미안", "헤르만 헤세");
books[2] = new Book("어린왕자", "생텍쥐페리");
3. 반복문으로 모든 책 정보 출력하기
// 방법 1
for (int i = 0; i < books.length; i++) {
books[i].printInfo();
}
// 방법 2
for (Book book : books) {
book.printInfo();
}
[ 실습 미션 ]
Book 클래스를 사용해서, 책 5권을 배열로 저장하고 각 책의 정보를 출력해보기.
📌 요구사항
- Book 클래스는 title, author 속성
- printInfo() 메서드로 출력
- Main 클래스에서 5개 생성 후 출력
🧾 출력 예시
제목: 개미, 저자: 베르나르 베르베르
제목: 데미안, 저자: 헤르만 헤세
제목: 어린왕자, 저자: 생텍쥐페리
제목: 나미야 잡화점의 기적, 저자: 히가시노 게이고
제목: 죽음에 관하여, 저자: 어니스트 베커
코드 작성
public class Book {
private String title;
private String author;
Book () { } // 기본 생성자
Book (String title, String author) {
this.title = title;
this.author = author;
}
// setter, getter
public void setTitle(String title) {
this.title = title;
}
public String getTitle() {
return title;
}
public void setAuthor(String author) {
this.author = author;
}
public String getAuthor() {
return author;
}
// 메서드
public void printInfo() {
System.out.println("제목: " + title + ", 저자: " + author);
}
@Override
public String toString() {
return "제목: " + title + ", 저자: " + author;
}
}
public class ex1 {
public static void main (String[] args) {
Book[] books = new Book[5];
books[0] = new Book("개미", "베르나르 베르베르");
books[1] = new Book("데미안", "헤르만 헤세");
books[2] = new Book("어린왕자", "생텍쥐페리");
books[3] = new Book("나미야 잡화점의 기적", "히가시노 게이고");
books[4] = new Book("죽음에 관하여", "어니스트 베커");
for (Book book : books) {
book.printInfo();
}
}
}
[ 메모 ]
- for-each문은 for (클래스 객체명 : 반복시킬 객체) 이렇게 선언.
- Javascript와 달라서 헷갈린다. ㅠㅠ...