FooBar 라는 sealed 인터베이스가 있고
랜덤으로 Foo나 Bar를 리턴하는 함수에서 객체를 받아와서
Foo 면 foo 를 실행, 아니면 bar 를 실행하는데
우리는 Foo 가 아니면 Bar 란걸 알지만 컴파일러는 알지 못함
이럴때 쓸 수 있는게 contract 문법으로 컴파일러한테 정보를 제공할 수 있음 ㅇㅅㅇ
Foo 면 true 를 Bar 면 false 를 리턴하도록 하면
스마트 캐스팅이 알아서 잘 적용된다 ㅇㅅㅇ
이거 히트네,,,
댓글 2