일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- org.mybatis.spring.MyBatisSystemException
- WAS와 WEB서버 차이
- 코드로 배우는 스프링 웹프로젝트
- 톰캣에러
- Junit Test 에러
- HTTP
- 정보처리기사 20년
- java 면접질문
- 테스트코드 작성
- 스프링 게시판 만들기
- 의존성 주입
- pom.xml 설정
- 공개 암호화키
- 정보처리기사 해설
- 게시판 만들기
- @RediretAttribute
- HTTP와 HTTPS의 차이
- 코드로 배우는 스프링부트 웹 프로젝트
- 코드로 배우는 스프링 웹 프로젝트
- Tomcat version 8.5 only supports J2EE 1.2
- java jdk 오류
- 쿠키와 세션의 차이
- 인터페이스와 추상클래스 차이
- and Java EE 5
- 정보처리기사
- @RequiredArgsConstructor
- 쿠키와 세션의 특징
- and 7 Web modules
- 정보처리기사 1과목
- oracle Database 설정
- Today
- Total
모아이티
[면접질문] JAVA 인터페이스 & 추상클래스 공통점과 차이점 본문
추상 클래스
-> 추상 클래스의 목적은 공통적인 기능을 하는 객체들의 추상화다.
-> 클래스는 어떤 인스턴스를 생성할 수 있지만, 인터페이스는 객체 생성이 불가능하다.
왜? 추상화된 클래스니까
-> 추상 클래스를 언제 사용할까? 만들어야 할 여러 클래스들의 공통점을 찾아 추상화시켜 사용하는 것이 맞을 때 사용하는 게 옳다.
ex) 모든 가전제품에는 on/off 기능이 있다. 이러한 공통적인 기능은 추상 클래스로 만들고 개별적인 기능(냉장고의 차가워지는 기능, 전자레인지의 물건을 데워주는 기능)들은 개별적으로 개발해준다.
-> java의 특성 중에는 다중 상속이 불가능하다는 점이 있다.
인터페이스
-> 인터페이스는 구현하는 모든 클래스에 대해 특정한 메서드가 반드시 존재하도록 강제하는 역할이다.
-> 즉 구현 객체가 같은 동작을 한다는 것을 보장하기 위한 목적이다.
ex) human 클래스를 생성해 walk(메서드)를 생성해 본다고 하자! 그럼 나, 엄마, 아빠 클래스가 있다고 하면
각 클래스에 walk 메서드를 구현할 수 있다.
-> 인터페이스는 다중 상속이 가능하다.
-> 포인트는 다중 상속의 문제가 아니라 목적이 다르다는 걸 중점으로 여겨야 한다.
공통점
-> 추상 클래스와 인터페이스는 선언만 있고 구체적인 구현 내용이 없다.
-> 추상클래스 & 인터페이스는 새로운 인스턴스 즉 객체 생성이 불가능하다.
-> 결국 자식 클래스가 무언가 반드시 구현하도록 할 때 사용해야 한다. (BoradServiceImpl이 자식 클래스)
public class BoardServiceImpl implements BoardService
출처
JAVA 인터페이스와 추상클래스 공통점, 차이점 정리
인터페이스(Interface) 와 추상클래스(Abstract class) - 공통점 : 추상클래스와 인터페이스는 선언만 있고 구현 내용이 없는 클래스다. (자바8부터 인터페이스에 default method 구현이 가능해졌지만 일반
jeong-pro.tistory.com
'면접질문' 카테고리의 다른 글
[면접질문] WEB_HTTP와 HTTPS는 무엇인가? 차이점은? (0) | 2021.11.11 |
---|---|
[면접질문] WEB_ WAS와 웹서버 차이 (0) | 2021.11.05 |
[면접질문] WEB_쿠키와 세션의 차이 & 용도와 특징 (0) | 2021.11.04 |