일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 생존코딩
- 플러터
- 모두연구소
- Tag #패스트캠퍼스 #내일배움카드 #국비지원 #K디지털기초역량훈련 #바이트디그리 #자바인강
- 오름캠프플러터
- 오준석의 생존코딩
- 모두의연구소 오준석생존코딩 오름캠프
- ㅇ
- 오름캠프
- 오준석의생존코딩
- 패스트 캠퍼스
- 오존석의 생존코딩
- #패스트캠퍼스 #내일배움카드 #국비지원 #K디지털기초역량훈련 #바이트디그리 #자바인강
- 모두의 연구소 # 오준석의생존코딩# 오름캠프
- 모두의연구소
- Today
- Total
꾸준히 하고싶은 개발자
7일차 상속 (inheritance) 본문
late 늦게 초기화 하겠다.
null safety
int ? = int 데이터 + null
int ! :(개발자 null 아님을 보증 한다)널이 아니다 다트 고수 되면 사용하자
절대 사용하지 말자 그냥 조건문을 선언해서 널 체크를 하자
?? 0;
int ?? =0; 데이터가 널이 면 = 0으로 선언 하겠다.
_hp 가 널이면 초기값을 0 으로 하겠다.
_mp가 널이면 초기값을 0으로 하겠다
dart 3.0 되면서 대격변이 되면서 null safety 도입 되었다.
late 더 안좋다 초기화 를 해야한다. 안하면 오류 난다.
null able 오류가 안난다.
null 이든 late 든 둘다 사용하지 않는게좋다.
삼항연산자 에서 도 nullable 할 수있다
안전한 호출
num 2 짝수 면 값이 없습니다.
테스트 기법 참고 할 만한 용어
상속 (inheritance)
만든 클래스와 닮았지만 다른 클래스를 다른 클래스를 만들 경우 사용한다.
키워드 extend (superHero extends Hero)
슈퍼히어로 안에 값을 다 넣지 않아서 오류가난다.
옵셔널 파라미터는 순서 상관없이 사용이 가능하다.
상속을 통해서 함수 호출해서 사용가능하다.
상속이다 . 그림 이다.
다중 상속
다중 상속으로 불가능하다. 단일 상속만 된다 .
다트는 단일상속 만 된다.
maxin 구현 가능하다
기능 고칠때
런 를 재정의 @ovrride 에노테이션
빌드 하는 문제 없다 없어도 되는경우다. @ovrride 에노테이션 넣어주는게 국룰 !!
실행
올바른 상속
올바른 상속은 “is-a 원칙” 이라고 하는 규칙에 따른 상속을 말한다
잘못된 상속
현실 세계의 등장인물 사이에 개념적으로 is-a 관계가 되지 못 함에도 불구하고 상속을 사용한 경우가 “잘못 된 상속" 이다.
잘못상속되면 안되는 이유
현실 세계와 모순이 생긴다.
클래스를 확장할 때 현실세계와의 모순이 생긴다
객체 지향의 3대 특징 중 1가지 “다형성" 을 이용할 수 없게 된다
is-a 란
is-a는 말 그대로 'A는 B이다'일 때의 '~이다'와 같습니다.
사람은 동물이다 소는 동물이다 새는 동물이다.
구체와 일반화 의 관계
부모클래스 는 추상화 가 되고 자식 클래스 구체화가된다.
extends 확장 연장 하다.
슈퍼클래스super calss 연락수단 전자기기 디바이스
중간: car phone , dictionary
서브클래스 여라개 찍어낼 수있으냐 (전자사전 국어사전 수소차 전기차 디젤차 아이폰14프로)
상속이 아니고 계승이 맞다 ..
덮붙치는것이다.
프로그래밍 에서는 부모 클래스 전부 다 자식
에게 다오고 기능을 추가 할 수도있다. .
구체적인 내용 속성이 맞다 .(페라리488 스파이더 아우디 브랜드명 )같은 건 속성이 맞다.
정리
'모두의연구소' 카테고리의 다른 글
8일차 다형성 (1) | 2023.12.06 |
---|---|
7일차 추상클래스와 인터페이스 (1) | 2023.12.05 |
6일차 캡슐화 (encapsulation) (0) | 2023.12.04 |
6일차 컬렉션 (0) | 2023.12.04 |
Final 과 const (1) | 2023.12.03 |