
✅ 상속 관계 상품
🔔 문제 설명
쇼핑몰의 판매 상품을 만들어보자.
🔔 요구 사항
- Book, Album, Movie 3가지 상품을 클래스로 만들어야 한다.
- 코드 중복이 없게 상속 관계를 사용하자. 부모 클래스는 Item이라는 이름을 사용하면 된다.
- 공통 속성 : name, price
- Book : 저자(author), isbn(isbn)
- Album : 아티스트(artist)
- Movie : 감독(director), 배우(actor)
📚 예시 코드
package extends1.ex;
public class ShopMain {
public static void main(String[] args) {
Book book = new Book("JAVA", 10000, "han", "12345");
Album album = new Album("앨범1", 15000, "seo");
Movie movie = new Movie("영화1", 18000, "감독1", "배우1");
book.print();
album.print();
movie.print();
int sum = book.getPrice() + album.getPrice() + movie.getPrice();
System.out.println("상품 가격의 합: " + sum);
}
}
🖥️ 실행 결과

💡정답
단축키
Override Methods → ⌃ + O
✏️ Item
package extends1.ex;
public class Item {
private String name;
private int price;
public Item(String name, int price) {
this.name = name;
this.price = price;
}
public int getPrice() {
return price;
}
// ex) 이름: JAVA, 가격: 10000
public void print() {
System.out.println("이름: " + name + ", 가격: " + price);
}
}
✏️ Book
package extends1.ex;
public class Book extends Item {
private String author;
private String isbn;
public Book(String name, int price, String author, String isbn) {
super(name, price);
this.author = author;
this.isbn = isbn;
}
@Override
public void print() {
super.print();
System.out.println("- 저자: " + author + ", isbn: " + isbn);
}
}
✏️ Album
package extends1.ex;
public class Album extends Item {
private String artist;
public Album(String name, int price, String artist) {
super(name, price);
this.artist = artist;
}
@Override
public void print() {
super.print();
System.out.println("- 아티스트: " + artist);
}
}
✏️ Movie
package extends1.ex;
public class Movie extends Item {
private String director;
private String actor;
public Movie(String name, int price, String director, String actor) {
super(name, price);
this.director = director;
this.actor = actor;
}
@Override
public void print() {
super.print();
System.out.println("- 감독: " + director + ", 배우: " + actor);
}
}'Back-end > Java' 카테고리의 다른 글
| [Java - 기본] 다형성과 캐스팅 (0) | 2024.04.30 |
|---|---|
| [Java - 기본] 다형성 시작 (0) | 2024.04.29 |
| [Java - 기본] super - 생성자 (1) | 2024.04.28 |
| [Java - 기본] super - 부모 참조 (1) | 2024.04.27 |
| [Java - 기본] 상속과 접근 제어 (0) | 2024.04.26 |