본문 바로가기

옵셔널2

[Swift] Chapter 16. 모나드 모나드는 여러 영역에서 다양한 뜻을 가지기도 하고 한 문장으로 설명하기는 어려운 개념이다. 모나드라는 용어는 수학의 범주론에서부터 시작한다. 함수형 프로그래밍에서의 모나드는 순서가 있는 연산을 처리할 때 자주 활용하는 디자인 패턴이다. 사용하는 곳에 따라 수학의 범주론에서 말하는 모나드인지 특정 디자인 패턴을 따르는 모나드인지가 다르다. 프로그래밍에서 사용하는 모나드는 범주론의 모나드의 의미를 완벽히 구현하려고 하지 않기 때문에 범주론의 모나드 개념을 차용한 정도의 의미를 갖는다. 그래서 모나드의 성질을 완벽히 갖추지 못했지만 대부분의 성질을 갖추었다고 하여 프로그래밍에서의 모나드를 모나딕(Monadic)이라고 표현한다. 혹은 모나드의 성질을 갖는 타입이나 함수를 모나딕 타입 혹은 모나딕 함수 등으로 표.. 2021. 10. 10.
[Swift] Chapter 08. 옵셔널 옵셔널은 안전성(Safe)을 문법으로 담보하는 기능이다. 값이 '있을 수도, 없을 수도 있음'을 나타내는 표현이다. 이는 '변수나 상수 등에 꼭 값이 있다는 것을 보장할 수 없다. 즉, 변수 또는 상수의 값이 nil일 수도 있다'는 것을 의미한다. 옵셔널과 옵셔널이 아닌 값은 철저히 다른 타입으로 인식하기 때문에 컴파일할 때 바로 오류를 걸러낼 수 있다. 8.1 옵셔널 사용 옵셔널 변수 또는 상수가 아니면 nil을 할당할 수 없다. 변수 또는 상수에 값이 없을 때만 nil로 표현한다. 값이 없는 옵셔널 변수 또는 상수에 (강제로) 접근하려면 런타임 오류가 발생한다. nil은 옵셔널로 선언된 곳에만 사용될 수 있다. 옵셔널 변수 또는 상수 등은 데이터 타입 뒤에 물음표(?)를 붙여 표현해준다. /* 코드 .. 2021. 10. 8.