-
Power JAVA 10장 ) 인터페이스와 다형성 - Programming_6IT/솔루션) Power Java 2019. 5. 12. 18:00
<2016. 10. 11. 12:33>
Power JAVA 10장 ) 인터페이스와 다형성 - Programming_6
==================Book.java===================== /* * 책을 대여해주는 업체를 위한 Book이라는 클래스를 작성한다. * Book은 관리번호(number), 제목(title), 저자(author)를 필드로 가진다. * Book 클래스는 각 필드에 대한 접근자와 설정자를 가진다. * Object 클래스의 equals() 메소드를 재정의하여서 만약 관리번호가 동일하면 동일한 책으로 간주한다. * 다음으로 Book으로부터 상속을 받는 Novel, Poet, ScienceFiction 클래스를 작성한다. * 이들 클래스들은 연체된 날짜에 따라서 연체료를 계산하는 getLateFees() 메소드를 재정의한다. * getLateFees() 메소드는 연체 일수를 매개변수로 받는다. * Novel의 경우에는 300원/일이고, Poet는 200원/일, ScienceFiction는 600원/일이다. * main 메소드에서 작성된 클래스를 테스트하라. */ package Programming_6; //책을 대여해주는 업체를 위한 Book이라는 클래스를 작성한다. public class Book { //Book은 관리번호(number), 제목(title), 저자(author)를 필드로 가진다. private int number; private String title; private String author; //Book 클래스는 각 필드에 대한 접근자와 설정자를 가진다. public int getNumber() { return number; } public void setNumber(int number) { this.number = number; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } //Object 클래스의 equals() 메소드를 재정의하여서 만약 관리번호가 동일하면 동일한 책으로 간주한다. public void equals(Book somebook ) { if(this.number == somebook.number) System.out.println("같은 책입니다."); else System.out.println("다른 책입니다."); } } //다음으로 Book으로부터 상속을 받는 Novel, Poet, ScienceFiction 클래스를 작성한다. //이들 클래스들은 연체된 날짜에 따라서 연체료를 계산하는 getLateFees() 메소드를 재정의한다. //getLateFees() 메소드는 연체 일수를 매개변수로 받는다. //Novel의 경우에는 300원/일이고, Poet는 200원/일, ScienceFiction는 600원/일이다. class Novel extends Book { public int getLateFees(int lateday) { return 300*lateday; } public String toString() { return getNumber()+" / "+getTitle()+" / "+getAuthor(); } } class Poet extends Book { public int getLateFees(int lateday) { return 200*lateday; } public String toString() { return getNumber()+" / "+getTitle()+" / "+getAuthor(); } } class ScienceFiction extends Book { public int getLateFees(int lateday) { return 600*lateday; } public String toString() { return getNumber()+" / "+getTitle()+" / "+getAuthor(); } } ==============BookTest.java====================== package Programming_6; public class BookTest { public static void main(String[] args) { Novel mybook1 = new Novel(); Poet mybook2 = new Poet(); ScienceFiction mybook3 = new ScienceFiction(); mybook1.setNumber(1000); mybook1.setTitle("어린왕자"); mybook1.setAuthor("작가1"); mybook2.setNumber(1000); ; mybook2.setTitle("PowerJava"); mybook2.setAuthor("원순철"); System.out.println(mybook1+"\n"+mybook2); System.out.print("위 두책은 "); mybook1.equals(mybook2); System.out.println("=============================================="); System.out.println("5일이 늦은 소설책의 연체료는 "+mybook1.getLateFees(5)+"원 입니다."); System.out.println("5일이 늦은 시집의 연체료는 "+mybook2.getLateFees(5)+"원 입니다."); System.out.println("5일이 늦은 공상과학소설의 연체료는 "+mybook3.getLateFees(5)+"원 입니다."); } }
'IT > 솔루션) Power Java' 카테고리의 다른 글
Power JAVA 10장 ) 인터페이스와 다형성 - Programming_5 (0) 2019.05.12 Power JAVA 10장 ) 인터페이스와 다형성 - Programming_4 (0) 2019.05.12 Power JAVA 10장 ) 인터페이스와 다형성 - Programming_2 (0) 2019.05.12 Power JAVA 10장 ) 인터페이스와 다형성 - Programming_1 (0) 2019.05.12 Power JAVA 10장 ) 인터페이스와 다형성 - LAB (0) 2019.05.12