스터디사이트 : https://www.hackerrank.com
JAVA Basic : 추상 클래스
※ 조건
Book , Solution 클래스가 주어지고
MyBook 클래스를 직접 코딩해야 한다.
MyBook클래스는 Book클래스를 상속받아야 한다
MyBook의 생성자의 파라미터
1. String title
2. String author
3. int price
Book클래스의 추상메소드인 display()를 구현하여 아래의 3라인을 출력해야 함
line 1 → Title: $title
line 2 → Author: $author
line 3 → Price: $price
※ 주의 :
한 파일에 세 클래스가 동시에 쓰이기 때문에, 접근지정자를 쓰지 않도록 한다. (public, protected, private , ...)
※ 주어진 코드
: 아래 표시된 영역 안에서만 코딩 할 것.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | abstract class Book { String title; String author; Book(String t,String a){ title=t; author=a; } abstract void display(); } //Write MyBook Class /* 이곳에 코딩하시오 */ public class Solution { public static void main(String []args) { Scanner sc=new Scanner(System.in); String title=sc.nextLine(); String author=sc.nextLine(); int price=sc.nextInt(); Book new_novel=new MyBook(title,author,price); new_novel.display(); } } | cs |
입력
The Alchemist
Paulo Coelho
248
출력
Title: The Alchemist
Author: Paulo Coelho
Price: 248
디버깅
주어진 코드 line 24를 보면
MyBook의 생성자의 인자는 3개이고, Book 생성자의 인자는 2개이다.
그 말은, 저번에 클래스상속에서 코딩했던 것처럼, 부모클래스의 파라미터를 super를 이용해서 끌어오고, 부모클래스에 없는 인자만 this를 써서
MyBook의 로컬변수로 지정하면 될 것 같다.
추상클래스에 대한 나의 포스팅 (시간이 지나면 까먹는것이 인지상정 ㅋ) :
http://blog.naver.com/imf4/220612153934
코딩연습 1
이클립스의 도움만 받아서는 안되겠지만.. 제대로 연습하려면 이클립스가 하라는대로 구현하고 이렇게 생겼구나 라고 구경하고 기억해야겠다 ㅎ
- |
코딩연습 2
조건에서 이야기한 접근지정자를 쓰지 말라는 말.. 무시하고 한번 ' public ' 을 클래스와 메소드에 각각 붙여보았다.
메소드에 public을 붙이면 문제가 없었고,
클래스에 public을 붙이면 문제가 생긴다.
|
- |
코딩연습 & 결과
| |||
결과 : Title: The Alchemist Author: Paulo Coelho Price: 248 |
'JAVA > JAVA Basic' 카테고리의 다른 글
JAVA Basic : 예외 - String과 Integer (0) | 2016.07.15 |
---|---|
JAVA Basic : 두 수의 차의 절대값 범위 중 최대값 구하기 (0) | 2016.07.13 |
JAVA Basic : 클래스 상속 , super메소드의 사용 (0) | 2016.07.12 |
JAVA Basic : Dictionary & Map 클래스 (0) | 2016.07.07 |
JAVA Basic : 짝수/홀수 자리 글자 추출하여 나열시키기 (0) | 2016.07.07 |