inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

호주 현직 자바 개발자가 묻고 답하는 영어 기술면접 25

What is the difference between Abstact class and interface and using for ?

접근제한자의 차이 질문

351

wnguddl96

작성한 질문수 16

1

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
 
추상클래스는 모든 접근제한자가 사용 가능하고
인터페이스는 오직 public만 가능하다고 정리해주셨는데
 
두 클래스의 접근제한자 사용 가능 여부가 차이나는 이유는 무엇인가요?
단일 상속과 다중 상속의 차이 때문인가요?

java

답변 2

2

wnguddl96

아하!! 이해 되었습니다 감사해요:)

1

Jin Seo

일단 인터페이스의 경우는 일종의 프로토콜을 설정할때 주로 사용합니다. 특별한 내용은 상관이 없고 그냥 빈껍데기인 형식만 규정하는 것이지요.

따라서 알맹이를 채워줄 의지가 있는 누구나 사용할수 있는 public 제한자가 적합하겠지요.

하지만 추상클래스는 '클래스+인터페이스' 성질이 있습니다. 일반 자바 클래스이면서 빈껍데기를 선언한 ..짬짜면같은 존재라고 해야할까요?

물론 빈껍데기인 인터페이스 부분은 다른 클래스들에서 다양하게 구현이 될겁니다. 

그래서 추상클래스는 거의 대부분 Super Class로 활용이 되는것이구요.

앞서 말씀드린대로 추상클래스는 일반 클래스의 성질도 가지고 있습니다.

자바의 클래스라면 Encapsulation이란 개념을 가질수 있어서 클래스내의 멤버들은 private까지 가능하니 결국 모든 접근제한자가 추상클래스에서는 사용 가능한 것입니다.

 

 

 

 

 

핵사고날 아키텍처 기반으로 멀티 모듈 설계 시 질문드립니다..

0

9

1

자료 다운로드 문제

0

21

2

DataSourceUtils.releaseConnection 할때요 SQLException e 사용하는 이유등

0

30

1

강의 기다리고 있습니다!

0

31

0

@Modifying에 관하여

1

30

1

4강 카드뉴스 자동화 자료가 안보입니다!!

0

37

2

수업자료 오타

0

30

1

4강 카드뉴스 자동화 자료

4

75

1

내부 객체 직접 접근에 관하여.

0

55

1

라이브 강의 영상 녹화본이 있을까요?

0

74

1

presentation error

0

45

1

인증이 늦었습니다ㅜㅜ 확인부탁드립니다

0

72

1

9월 8일 세션 진행한 거는 없었을까요

0

60

1

FlushModeType.COMMIT (12:45) 예시코드 질문

0

39

1

미션1 진행방법 관련

1

64

1

클로드코드 명령어 - 대화&세션관리부분 강의자료 빈폴더

0

43

1

Spock given and가 검증을 하는지

0

36

1

Issuance 테이블에 status, couponId 인덱스가 꼭 필요할까요?

2

60

1

readme에 대한 자료는 따로 받아볼수 있나요?

0

62

2

InvalidCurriculumException DIP 적용 여부 문의

0

47

2

섹션2, 대화&세션관리 수업 자료 누락

0

48

3

영상 다운로드는 안되나요?

0

63

1

강의 내용을 잘 보고 있습니다. 강의 자료를 합쳐서 볼 수 없을까요?

0

340

1

안녕하세요.. 강의를 블로그에 올려도 될까요?

0

379

2