[Dart] 클래스, 생성자

HootJem's avatar
Sep 27, 2024
[Dart] 클래스, 생성자

1. 클래스

Dog 클래스를 정의하고, 2마리를 생성한다.
notion image
이럴수가.. 두마리 다 이름이 Happy 이다. 이는 변수가 class 에서 초기화 되어있기 때문이다.
강아지를 부를 때 마다 이름을 바꿔주고 싶다. 이때 사용되는 것이 생성자이다.

 

2. 생성자

notion image
반드시 값이 들어온다는 뜻이므로 age, name 에 에러가 발생하지 않는다.
notion image
notion image
중괄호는 선택적 매개변수라는 의미.
값을 넣어도 되고, 안넣어도 된다.
장점 : 값을 생략 가능하다
notion image
넣고싶은 것 넣고, 안넣을 수 있다.
 
장점 2 : 앞에 key 값이 들어가기 때문에 순서를 상관하지 않는다.
notion image
그래서 bulider 패턴이 필요없다.
참고 ! 저 문법 오류는 ? 로 해결 가능
notion image
또는 required 로 가능.
notion image
notion image
값은 꼭 넣을것이지만 bulider 처럼 쓰고싶을 때 required 를 쓴다. 대신 age 혹은 name 이 없으면 에러가 난다.
 
notion image
notion image
 
notion image
notion image

선택적 매개변수

  • 값을 초기화 할 수 있다.
  • 값을 무조건 받도록 하려면 requerid 를 쓸 수 있다.
 
생성되기 전에 울게 하려면
notion image

null 처리 방법

notion image
notion image
처리 방법 3가지 중,
int r3 = findById(5)!; ! 는 값이 분명히 리턴된다는 것을 보장할게 라는 의미이다. 이대로 print 하게 되면 null 이 오기 때문에 에러가 난다. (위험한 처리방법임)
 
notion image
notion image
findById 라는 함수에 대한 null 처리는 되었지만 결과 값에 대한 null 처리는 되지 않았다.
 
notion image
null 일 때 0.0 이 되도록 한것.
Share article

[HootJem] 개발 기록 블로그