티스토리 뷰
추상 클래스
-> 추상 클래스에는 이런 이런 기능을 하는 메소드(추상메소드)가 있는데(내용이 없고 선언만 되어있음),
이것을 상속받은 자식 클래스에서 그 내용을 오버라이딩(재정의)해서 구현하게끔 하기 위해서 사용함.
-> 좀더 쉽게 말하자면, 추상클래스에는 껍데기만 있는데, 이것을 상속받은 자식 클래스에서 알맹이까지 구현하는것.
1. 인스턴스화 시킬수 없고, 오직 상속의 용도로만 사용된다.
2. 반드시 하나 이상의 추상 메소드를 갖는 클래스.
추상 클래스는 일반 메소드도 포함가능하며, 추상 클래스를 상속받는 자식 클래스에서는 반드시 추상 클래스의 추상 메소드를 오버라이딩해야함. 물론, 부모 추상 클래스의 일반 메소드도 자식 클래스에 포함 되어 있음.
인터페이스
-> 추상 클래스의 극단적인 형태, 추상 클래스는 추상 메소드가 아닌 일반 메소드도 포함 되어 있었지만, 인터페이스에서는 추상 메소드로만 구성됨.
또한 인터페이스는 상속받는다라는 표현이 아니라 구현한다고 표현한다.
따라서 인터페이스를 구현하는 자식 클래스에서는 인터페이스에 있는 모든 추상 메소드를 오버라이딩 해야한다.
cf>추상 메소드란, 함수가 선언만 되어 있고, 내부 로직은 구현되어 있지 않은채로 비어있는 그런 함수를 의미한다.
ex) void hello(){};
'컴퓨터 공학과 졸업 > 객체지향' 카테고리의 다른 글
객체 지향의 4대 특징 (1) | 2018.07.27 |
---|---|
클래스와 객체의 관계 (1) | 2018.07.27 |
다형성이란 (0) | 2018.01.22 |
c++ 업캐스팅과 다운캐스팅 (2) | 2018.01.16 |
자바와 자바 가상 머신 (0) | 2017.09.09 |
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- atomic design
- reducer
- promise
- props
- design system
- webpack
- react
- es6
- await
- reactdom
- useRef
- javascript
- react hooks
- Action
- async
- hydrate
- computed
- typescript
- server side rendering
- return type
- reflow
- storybook
- Polyfill
- Next.js
- Babel
- state
- rendering scope
- mobx
- type alias
- useEffect
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함