inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

문제와 풀이

displayInfo 메소드에 배열 인스턴스 문의

192

홍태경

작성한 질문수 74

0

Book 클래스 displayInfo 메소드에 book1 ~ book3 까지 각각 인스턴스를 넣어 정상적으로 출력이 되었습니다

 

void displayInfo(){
        System.out.println("제목:" + title + ", 저자:" +author+ ", 페이지:" + page);
    }

--- Main 메소드 --- 
book1.displayInfo();
book2.displayInfo();
book3.displayInfo();

 

만약 displayInfo 메소드에 Books 인스턴스 배열을 매개 변수로 넣고 for문으로 처리하고 싶으면 어떻게 코드 수정을 해야 할까요? 뾰족한 수가 생각이 안나 스스로 해보는 중인데 ㅠㅠ 되지 않네요 혹시 가능할까요..?

 

Book 클래스 displayInfo 메소드에 아무 매개변수를 배열 인자를 받아야 뭐 해결이 될거 같은데..ㅠ

 

< 시도중인 코드>

  
=== Book 클래스 displayInfo 메소드=== 

void displayInfo(Book[] books){
    for(int i=0; i <= books.length;i++){
System.out.println("제목:" + books[i].title + ", 저자:" +ooks[i]. author+", 페이지:" + ooks[i]. page);
    }
}


=== 메인 메소드 ===
Book book1 = new Book();
Book book2 = new Book("Hello Java", "Seo");
Book book3 = new Book("JPA 프로그래밍","Kim", 700);

Book[] books = {book1, book2, book3};

books.displayInfo();

java 객체지향

답변 1

1

y2gcoder

안녕하세요. 홍태경님, 공식 서포터즈 y2gcoder입니다.

다른 것을 건드릴 필요는 없으실 것 같습니다! BookMain만 수정하시면 될 것 같습니다 🙂

package construct.ex;

public class BookMain {

    public static void main(String[] args) {
        // 기본 생성자 사용
        Book book1 = new Book();
//        book1.displayInfo();

        // title과 author만을 매개변수로 받는 생성자
        Book book2 = new Book("Hello Java", "Seo");
//        book2.displayInfo();

        // 모든 필드를 매개변수로 받는 생성자
        Book book3 = new Book("JPA 프로그래밍", "kim", 700);
//        book3.displayInfo();

        Book[] books = {
                book1, book2, book3
        };

        for (Book book : books) {
            book.displayInfo();
        }
    }
}
이렇게 하셔도 되고, 더 줄여본다면 

package construct.ex;

public class BookMain {

    public static void main(String[] args) {
        Book[] books = {
                new Book(), 
                new Book("Hello Java", "Seo"), 
                new Book("JPA 프로그래밍", "kim", 700)
        };

        for (Book book : books) {
            book.displayInfo();
        }
    }
}

이렇게 위와 같이 해볼 수 있을 것 같습니다 🙂

 

감사합니다.

질문있습니다

0

28

1

1번 문제 질문입니다.

0

33

1

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

0

27

1

9장 상속 문제와 풀이 질문

0

38

1

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

0

50

2

매서드 참조값 반환??

0

66

1

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

0

70

1

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

0

85

1

공부방법

0

76

2

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

0

82

1

static method 질문

0

66

1

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

0

97

1

Method1에서 Student 객체

0

74

1

3강 18. null 질문

0

69

1

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

0

76

1

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

0

97

1

문의

0

104

1

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

0

90

1

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

0

62

1

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

0

74

1

수강기한

0

136

1

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

0

87

1

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

0

87

1

추가 지식 학습

0

153

2