1. 클래스
Dog 클래스를 정의하고, 2마리를 생성한다.

이럴수가.. 두마리 다 이름이
Happy
이다. 이는 변수가 class 에서 초기화 되어있기 때문이다.강아지를 부를 때 마다 이름을 바꿔주고 싶다. 이때 사용되는 것이 생성자이다.
2. 생성자

반드시 값이 들어온다는 뜻이므로 age, name 에 에러가 발생하지 않는다.


중괄호는 선택적 매개변수라는 의미.
값을 넣어도 되고, 안넣어도 된다.
장점 : 값을 생략 가능하다

넣고싶은 것 넣고, 안넣을 수 있다.
장점 2 : 앞에 key 값이 들어가기 때문에 순서를 상관하지 않는다.

그래서 bulider 패턴이 필요없다.
참고 ! 저 문법 오류는
?
로 해결 가능
또는
required
로 가능.

값은 꼭 넣을것이지만 bulider 처럼 쓰고싶을 때
required
를 쓴다. 대신 age 혹은 name 이 없으면 에러가 난다.



선택적 매개변수
- 값을 초기화 할 수 있다.
- 값을 무조건 받도록 하려면
requerid
를 쓸 수 있다.
생성되기 전에 울게 하려면

null 처리 방법


처리 방법 3가지 중,
int r3 = findById(5)!;
! 는 값이 분명히 리턴된다는 것을 보장할게 라는 의미이다.
이대로 print 하게 되면 null
이 오기 때문에 에러가 난다. (위험한 처리방법임)

findById 라는 함수에 대한 null 처리는 되었지만 결과 값에 대한 null 처리는 되지 않았다.

null 일 때
0.0
이 되도록 한것.Share article