inflearn logo
강의

Course

Instructor

25 English Technical Interview Questions and Answers from a Current Java Developer in Australia

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

접근제한자의 차이 질문

358

wnguddl96

16 asked

1

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

java

Answer 2

2

wnguddl96

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

1

Jin Seo

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

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

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

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

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

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

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

 

 

 

 

 

낙관적락 질문있습니다.

0

12

1

push pop 설명 되어있는 강의가 몇강인가요?

0

21

1

댓글순서부여방식

0

15

1

movablePageCount와 pageSize 상수

0

19

1

JPA와 네이티브 쿼리

0

25

1

조회 메서드 네이밍 질문

0

43

1

소스파일

0

38

1

강의 판서 자료

0

45

2

모의고사 파일오류

0

66

3

Properties 설정이 추가되었는데

0

31

1

모의고사 다운

0

45

1

업캐스팅 원칙

0

61

2

11강 [실습] Docker로 MySQL1 분만에 실행하기

0

75

2

11강 [실습] Docker로 MySQL1 분만에 실행하기

0

53

2

6분46초

0

53

2

공략법

0

60

1

isInterrupted 질문 있다.

0

30

1

선생님 샤딩에 대한 강의도 좀 해주세요

0

44

1

몽고DB CAP 이론 관련

0

53

2

모의고사 파일과 이론파일 업데이트

1

69

3

이론 pdf 다운은 어디서 하나요?

0

63

2

RunIdIncrementer batch 5랑 6랑

1

56

2

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

0

343

1

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

0

385

2