• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

interface, abstract 차이에 대한 질문

21.01.27 14:01 작성 조회수 288

0

제가 인터페이스와 abstract의 차이가 어려워서 

인터넷을 찾아보던 중 다음과 같이 차이를 말해둔 것이 있던데 그 의미를 모르겠습니다. 

인터페이스 : 구현이 아닌 서명만 가질 수 있다.

abstract : 구현을 제공할 수 있다.

이 차이와 더불어서

"구현" 이라는 말도 정확히 무엇을 뜻하는지 헷갈립니다.

도와주세요..

답변 4

·

답변을 작성해보세요.

3

송유승님의 프로필

송유승

질문자

2021.01.27

추상 클래스 내의 비추상적인 부분은 물려주니까

파생클래스에서 그냥 쓸수 있고, 추상적인 부분은 따로 파생클래스 내부에서 구현해서 써야한다는 의미로 받아들이면 될까요?

2

"구현"이라 함은 실제 함수 내용을 의미합니다.

위의 예제에서 abstract class인 ShoutBase는
Shout의 구현부까지 만들어서 물려줄 수 있지만,
IShouter 인터페이스는 Shout()이라는 함수가 있다는 것만 의미하지
그 함수의 내용은 알아서 채워야 합니다.

1

네 맞습니다.

반면 interface는 아예 구현 자체가 막혀있습니다.

0

송유승님의 프로필

송유승

질문자

2021.01.27

감사합니다. 모호했던 부분이 확실해졌습니다.