각진 세상에 둥근 춤을 추자

[Java] 객체 배열 본문

Java

[Java] 객체 배열

circle.j 2022. 9. 18. 23:44

동일한 기본 자료형 (int, double ...) 변수 여러 개를 배열로 사용할 수 있듯이 참조 자료형 변수도 여러 개로 배열을 사용할 수 있다.

 

Book 클래스를 만든 후 이 클래스로 객체 배열을 만들어 본다.

Book 클래스는 책 이름과 저자를 멤버 변수로 가지는 클래스이다. 

자료형을 private로 생성했지만 다른 코드에서 이 클래스를 사용할 때 멤버 변수 값을 가져오거나 지정할 수 있도록 get(), set() 메소드를 구현한다. 

마지막으로 책의 정보를 출력해 주는 show() 메소드도 구현한다.

 

package ch07_1;

public class Book {
	
	private String bookName;
	private String author;
	
	
	// 디폴드 생성자
	public Book() {};	
	
	// 책 이름과 저자 이름을 매개변수로 받는 생성자
	public Book(String bookName, String author) {
		this.bookName = bookName;
		this.author = author;
	}

	public String getBookName() {
		return bookName;
	}

	public void setBookName(String bookName) {
		this.bookName = bookName;
	}

	public String getAuthor() {
		return author;
	}

	public void setAuthor(String author) {
		this.author = author;
	}
	
	// 책 정보를 출력해 주는 메소드
	public void show() {
		System.out.println(bookName + ", " + author);
	}
	
}

 

참고로 private 자료형을 사용한 경우,  상단 메뉴탭 - Sources - Generate Getters and Setters 를 쓰면 편리하다. 

 

 

도서관에 책이 5권 있다고 가정한다.

Book 클래스를 사용하여 책 5권을 객체 배열로 만들어 본다.

 

package ch07_1;

public class BookArray {
	public static void main(String[] args) {
		
		// (1) 객체 배열 생성
		Book [] library = new Book[5];
		
		// (2) 배열 요소 저장
		library[0] = new Book("잘될 수밖에 없는 너에게","최서영");
		library[1] = new Book("다섯 번째 감각","김보영");
		library[2] = new Book("어금니 깨물기","김소연");
		library[3] = new Book("시키는 대로 제멋대로","이소호");
		library[4] = new Book("긴긴밤","루리");
		
		for (int i=0; i<library.length; i++) {
			library[i].show();
		}
		
		for (int i=0; i<library.length; i++) {
			System.out.println(library[i]);
		}
	
	}
}

 

'Java' 카테고리의 다른 글

[Java] 향상된 for문 사용하기  (0) 2022.09.19
[Java] 배열 복사하기  (0) 2022.09.19
[Java] 배열  (0) 2022.09.18
[Java] Singleton  (0) 2022.09.18
[Java] 변수 유효 범위  (0) 2022.09.17