꾸준히 하고싶은 개발자

7일차 상속 (inheritance) 본문

모두의연구소

7일차 상속 (inheritance)

프라우스 2023. 12. 5. 19:43

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 든 둘다 사용하지 않는게좋다.

b가 null value 값으로 선언하겠다.

                         삼항연산자 에서 도 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