ABOUT ME

95.12.1 / 취준생 / Java

Today
Yesterday
Total
  • 10. oop2 - (1) PrinterDemo (재정의)
    java/코드 리뷰 2020. 4. 2. 15:05
    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
    package oop2;
     
    public class Printer {
        
        String name;    // 제품명
        String maker;    // 제조사
        int price;        // 가격
        int speed;        // 분당 출력 수
        
        
        // final 키워드가 있는 메서드는 후손 클래스에서 재정의 불가
        final void on() {
            System.out.println("전원을 켭니다.");
        }
        
        // final 키워드가 있는 메서드는 후손 클래스에서 재정의 불가
        final void off() {
            System.out.println("전원을 끕니다.");
        }
        
        void print() {
            System.out.println("흑백으로 내용을 출력합니다.");
        }
        
    }
     
     
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    package oop2;
     
    public class ColorPrinter extends Printer {
        
        // Printer로부터 상속받은 print() 메서드의 기능을 재정의
        
        @Override
        // @는 Annotation 이라는 것을 표시
        // Annotation : 부가적인 정보를 나타낼 때 사용
        // Annotation 의 정보는 편집기, 컴파일러, 프레임워크, 응용프로그램에서 그 정보를 활용할 수 있음
        void print() {
            System.out.println("컬러로 내용을 출력합니다.");
        }
        
    }
     
     
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    package oop2;
     
    public class LaserPrinter extends Printer {
        
        int dpi;
        
        @Override
        void print() {
            System.out.println("높은 품질의 해상도로 출력합니다.");
        }    
        
    }
     
     
    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
    package oop2;
     
    public class PrinterDemo {
        
        public static void main(String[] args) {
            
            Printer p1 = new Printer();
            p1.on();
            p1.print();
            p1.off();
            
            System.out.println();
            
            ColorPrinter p2 = new ColorPrinter();
            p2.on();
            p2.print();
            p2.off();
            
            System.out.println();
            
            LaserPrinter p3 = new LaserPrinter();
            p3.on();
            p3.print();
            p3.off();
            
        }
    }
     
     
Designed by Tistory.