본문 바로가기

프로그래밍/기본기ㆍ자료구조

Abstract (추상)

728x90
반응형

개념

- 상황에 맞게 내용을 재정의해서 사용할 수 있는 개념이다.

- 상속하는 클래스 내에서 같은 시그니처의 메소드로 오버라이딩 될 수 있다.

- Virtual(가상)과는 달리 선언한 추상 함수는 상속받은 하위 클래스에서 반드시 구현부를 구현해야한다.

(하위 클래스에 반드시 재정의하여 사용해야한다. 자기 자신은 선언만 가능하다. 또한 추상화는 Interface와 비슷하다)

- 스스로 인스턴스를 가질 수 없다.

- 멤버변수, 멤버함수 등이 구현 가능하다.

- 단 1개만 상속 받을 수 있다.

- 내용은 Interface와 비슷하나, 사용 방법은 Virtual과 비슷하기 때문에 Virtual과 Abstract를 헷깔리지 않도록 해야한다.

(사용 목적에 따라 명확하게 구분하여야한다.)

사용 목적

- 상속관계에 있는 하위 클래스의 공통된 특징이나 구조를 형성하기 위한 목적으로 사용한다.

- 일반 클래스를 통해서도 가능하나, 특징이나 구조를 강제하기 위함이다.

(말로 "이 클래스는 이렇게 사용하세요. 저렇게 사용하세요" 라고 해봤자 다른 프로그래머가 이를 준수하지 않으면 코드가 망가진다. 하지만 추상 클래스를 이용한다면 위 같이 말을 할 필요가 없다. 추상 클래스 자체가 이러한 설명을 담고 있기 때문이다.)

사용 예시

 

 

RememberCook 9월 28일 정식 출시!

두번째 게임인 RememberCook이 출시되었습니다. 귀여운 캐릭터들이 나오는 간단한 게임이며 플레이어의 공간인지능력을 테스트하는 게임입니다. 아래 링크를 통해 다운 받으실 수 있으니 많은 관��

chipmunk-plump-plump.tistory.com

반응형

'프로그래밍 > 기본기ㆍ자료구조' 카테고리의 다른 글

Interface와 abstract의 차이  (0) 2020.04.11
Interface (인터페이스)  (0) 2020.04.11
Virtual (가상 메소드)  (0) 2020.04.10
Queue (큐)  (2) 2020.04.10
Array와 ArrayList의 차이  (0) 2020.04.09