은은하게 코드 뿌시기

추상클래스 / abstract class / abstract method 본문

자바/자바 기본

추상클래스 / abstract class / abstract method

은은하게미친자 2022. 10. 17. 21:40
728x90

책 안 보면 까먹죠?

안까먹을라면 정리하고 반복 해야죠?

 

추상클래스?

추상클래스를 알려면 추상메소드를 알아야 한다.

 

추상메소드  (abstract method)

: 자식클래스에서 반드시 오버라이딩 해야만 사용할 수있는 메소드,

선언부만 존재하며, 구현부는 작성되어 있지 않다.

바로 이 작성되어 있지 않은 구현부를 자식클래스에서 오버라이딩하여 사용

 

abstract 반환타입 메소드이름();

 

추상클래스 (abstract class)

: 하나 이상의 추상메소드를 포함하는 클래스 

추상메소드를 가지고있는 클래스를 상속 받아 반드시 추상 메소드를 구현하도록 하기위해 사용한다.

추상메소드, 생성자, 필드, 일반 메소드도 포함할 수 있다.

abstract class 클래스이름 {
    abstract 반환타입 메소드이름();
}

추상 메소드가 포함된 추상 클래스를 상속 받은 모든 자식 클래스는

추상메소드를 구현해야만 인스턴스를 생성할 수잇으므로, 반드시 구현하게 됩니다.

여기서 잠깐, 자바는 다중상속을 지원하지 않습니다.

 

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
29
30
31
32
33
34
35
36
37
38
39
40
package java_basic;
 
 
abstract class makeup {
    abstract String ReturnColor();
}
 
class Eye extends makeup {
    @Override
    String ReturnColor() {
        System.out.println("EyeMainColor");
        return "EyeMainColor";
    }
}
class Base extends makeup {
    @Override
    String ReturnColor() {
        System.out.println("BaseMainColor");
        return "BaseMainColor";
    }
}
 
 
public class java_basic_abstract {
 
    public static void main(String[] args) {
        System.out.println("뭐야 인터넷이 느린거야 컴퓨터가 느린거야 ");
        
        //    makeup m = new makeup(); // 추상클래스는 인스턴스를 생성할 수 없음.
        
        Eye  e = new Eye();
        Base b = new Base();
        
        e.ReturnColor();
        b.ReturnColor();
    
    }
    
}
 
cs

 

 

728x90
Comments