2019년 4월 15일 월요일

Hackerrank Day 13 Abstract Classes







알고리즘 연습 사이트
www.hackerrank.com


Day 13:Abstract Classes



추상 클래스란 ?

class를 abstract 로 선언하기만 하면 추상 클래스다. 추상 클래스 그 자체로는 인스턴스를 생성할 수 없다. 
body가 없는 추상 메소드가 1개 이상 포함되어 있어서 인스턴스를 생성할 수 없기 때문이다. 
추상 클래스를 반드시 subclass가 extends를 하여 abstract 선언된 메소드들의 body를 구현하고나서야 subclass의 인스턴스 생성(new 키워드)을 할 수 있다. 
Day 12에서 배웠던 상속 개념을 확장시킨 것이 추상 클래스 이다.

13일 문제는 추상클래스 Book을 상속하는 MyBook 클래스를 구현하는 것이다.

abstract class Book {
    String title;
    String author;
    
    Book(String title, String author) {
        this.title = title;
        this.author = author;
    }
    
    abstract void display(); //추상 메소드
}
class MyBook extends Book{ //Inherits from Book
    int price;
    MyBook(String title, String author, int price){
        super(title, author);
        this.price = price;
    }
     void display(){ //추상 메소드를 구현
        System.out.println("Title: "+title);
        System.out.println("Author: "+author);
        System.out.println("Price: "+price);
    }
}




댓글 없음:

댓글 쓰기