Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- nodejs
- redux/toolkit
- 리액트
- 코틀린
- 팝업메뉴
- itemBackground
- javaSrcript
- Android
- react
- bottomNav
- 옵션메뉴꾸미기
- toolkit
- 커스텀옵션메뉴
- JavaScript
- Node
- 메뉴클릭
- state_checked
- readAsDataURL
- 안드로이드
- framework
- JS
- Redux
- 팝업메뉴 꾸미기
- hoos
- Hooks
- Dialog
- custom
- 자바스크립트
- Menu
- ContextAPI
Archives
- Today
- Total
대기업을 향한 디벨롭 블로그
override 추상화 interface 본문
override는 슈퍼클래스에서 만들어진 함수를 서브클래스에서 재구현 할 수 있게해준다.
위 코드를 보면 Animals에서 eat()함수가 만들어져있다.
Tiger클래스는 Animals클래스를 상속받았다. Tiger클래스는 서브클래스이기 때문에 eat()함수를 실행하면 Animals클래스안에있는 함수인 eat()함수가 발동된다.
이제 override를 사용하여 Tiger의 특성에따라 eat()함수를 재구현해보자
open과 override를 사용하여 Tiger클래스에서 eat()함수를 재구현해보았다.
abstract를 붙혀 추상화 클래스를 만들고 , abstract추상함수를 만들었다. 추상함수가 있기때문에 class는 abstract가 되어야하고,
서브클래스에서는 abstract붙은 함수의 기능을 override하여 구현해줘야한다!
interface
인터페이스는 속성,추상함수,일반함수를 가질 수 있다. 인터페이스는 생성자를 가질 수 없다.
구현부(기능)가 있는 함수는 open함수로 간주되고 , 구현부(기능)가 없는함수는 abstract함수로 간주한다. 포함된 모든 함수는 서브클래스에서 구현 , 재정의가 가능 서브클래스는 여러 인터페이스를 상속받을 수 있음.
이런식으로 오버라이딩은 슈퍼클래스에서 구현된 함수를 서브클래스에서 변경할때 open함수를 만들고 override하여 재구현 한다.
추상화는 형식만 선언하고, abstract를 붙혀서 (class에도 붙혀야함) 서브클래스에서 override 하여 구현을 해줘야한다.
인터페이스는 여러기능들을 물려줄때 좋은 기능이다.
이 포스트는 유투브 테크과학! DiMo님의 유투브를 참고하여 만들었습니다.
https://www.youtube.com/watch?v=P3Dp7YRwD_E
오버라이딩과 추상화 , 인터페이스에 대해 공부하고 , 글을 써봤다. 이게 바로 OOP의 강점아닌가 싶다 재밌다 .ㅋㅋ
'나는안드로이드개발자' 카테고리의 다른 글
옵저버패턴 , 객체지향의 다형성 (0) | 2022.05.27 |
---|---|
companion Object (동반자 오브젝트) (0) | 2022.05.24 |
Scope 함수 ( apply , run , with , also , let ) (0) | 2022.05.19 |
람다란.. (0) | 2022.05.18 |
Kotlin 클래스의 상속 (0) | 2022.05.17 |