본문 바로가기
개발자/백엔드 웹 개발자 과정(국비)

2022년 11월 28일 _ 16회차 (추상 클래스(abstract))

by 초응 2022. 11. 28.

클래스의 관리를 위해 하나의 파일에서도 여러 개의 클래스를 만들 수 있다.

 

추상화 = 객체 모델링 

추상(abstract) =  실체 간에 공통되는 특성을 추출한 것

 

추상과 추상화는 다르다.

추상 클래스 (불완전한 설계도) 추상 메소드(불완전한 코드)
- 다형성과 상속성의 확장 개념
- 한 개 이상의 추상 메소드를 가지는 클래스
- 강제적인 상속.
- 타입 선언 할 수 있으나 new 해서 객체 생성은 할 수 없다.

-메소드에 몸체 없이 선언만 하는 것.

abstract public void sub();

-강제적인 오버라이딩(overriding)

- 추상 메서드를 한 개라도 가진 클래스 역시 class 앞에 abstract를 붙여주어 추상 클래스로 만들어야 한다.

- 추상 클래스를 상속받은 클래스에서는 추상 메서드를 강제적으로 오버 라이딩해야 한다.(그렇지 않을 경우 그 자식 클래스도 추상 클래스가 되어야 함).

- 상속받은 자식 클래스로는 객체 생성이 가능하다.

- 상속을 통해서만 완성된다.

 

 

instanceof : 연산자 이 객체가 누구 설계도로 만들어진 건지 확인해준다.

abstract는 접근 지정자랑 우선순위가 똑같아서 public 앞에 써도 되고 뒤에 써도 된다.