본문으로 바로가기

추상 (Abstract)

category onYouTube/Java 2021. 3. 24. 17:26
  • "추상화 (Abstraction)" : 상속을 강제하는 것
  • 추상 클래스는 무조건 상속해서 사용해야 함
  • 추상 메소드는 형식만 존재하며, 사용하는 쪽에서 오버라이딩해서 사용해야 함
  • 추상 메소드를 갖고 있는 클래스는 자동으로 추상 클래스가 됨
  • 추상 클래스에는 추상 메소드 뿐만 아니라 일반 메소드도 있을 수 있음
  • 추상 클래스는 추상 메소드를 통해 서브 클래스가 구현할 메소드를 명료하게 알려주는 인터페이스의 역할을 하고,
    서브 클래스는 추상 메소드를 목적에 맞게 구현하는 다형성을 실현
abstract class A {}

class B extends A {}

public class AbstractDemo {

	public static void main(String[] args) {
    
		A obj = new A(); // 에러
		B obj = new B();
	}
}
abstract class A {

	public abstract int b();
	// 추상 메소드
}

class B extends A {}

public class AbstractDemo {

	public static void main(String[] args) {
    
		B obj = new B();
		// 추상 메소드 b를 상속하지 않았기 때문에 에러가 발생함
	}
}
public abstract int c() {

	System.out.println("Hello");
	// 추상 메소드는 형식만 가질 수 있기 때문에 에러가 발생함
}

'onYouTube > Java' 카테고리의 다른 글

인터페이스 (Interface)  (0) 2021.03.24
final  (0) 2021.03.24
접근 제어자  (0) 2021.03.24
API  (0) 2021.03.24
패키지 (Package)  (0) 2021.03.24