안녕하세요~ 차니에요! 오늘은 함수에 대해서 알아보도록 하겠습니다. 1. 함수 vs 메서드 시작에 앞서 헷갈릴 수 있는 용어부터 정리하고 가겠습니다. 함수(function) : 독립적인 기능을 수행하는 코드 단위 메서드(method) : 클래스, 구조체, 열거형에 포함되어 있는 함수, 클래스 함수라고도 부른다. 함수가 더 포괄적인 의미이므로 함수라는 용어로 포스팅 진행하겠습니다! 2. 함수 선언 방법 func name(parameters) -> Return Type { // Code... } 함수 선언은 func 키워드로 이루어집니다. 2-1. 함수 이름 코딩 컨벤션에 맞추어 lowerCamelCase로 작성합니다. lower는 소문자를, camel은 낙타를 뜻하는데 낙타의 등 모양을 연상해서 붙은 이름..
안녕하세요~ 차니에요! 오늘은 Swift의 클로저에 대해 알아보도록 하겠습니다. 1. 클로저(Closure)란? 일정 기능을 수행하는 코드의 블럭을 뜻하며 일급 객체의 역할을 할 수 있다. Named Closure : 이름이 있는 클로저로 일반적인 함수가 이에 해당합니다. Unnamed Closure : 이름이 없는 익명 함수로 일반적으로 클로저라 함은 Unnamed Closure를 지칭합니다. Swift에서 함수는 일급 객체이므로 클로저(익명 함수) 또한 일급 객체로서의 역할이 가능합니다. 2. 클로저 표현 방식 { (Parameters) -> Return Type in // Code ... } 아래와 같이 함수로 따로 정의된 형태가 아닌 인자로 들어가 있는 형태를 Inline Closure 라고 합니..
안녕하세요~ 차니에요! 오늘은 1급 객체에 대해 알아볼게요. Swift의 함수가 일급 객체이므로 Swift로 진행하겠습니다! 1. 일급 객체란? 컴퓨터 프로그래밍 언어 디자인에서, 일급 객체(영어: first-class object)란 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 가리킨다. 보통 함수에 매개변수로 넘기기, 수정하기, 변수에 대입하기와 같은 연산을 지원할 때 일급 객체라고 한다. (위키백과) 2. 일급 객체의 조건 일급 객체가 되기 위해선 아래 3가지 조건을 모두 충족하여야 합니다. 변수에 저장할 수 있어야 한다. 객체(함수)의 인자로 전달할 수 있어야 한다. 객체(함수)의 리턴값으로 사용할 수 있어야 한다. 위 세가지 조건을 모두 충족하고 있기에 Swift의 함수는 ..
안녕하세요~ 차니에요! 오늘은 지난 시간에 이어서 옵셔널 바인딩에 대해 포스팅하려고 해요. 옵셔널에 대해 잘 모르신다면 이전 글 한 번 슥 보고 와주세요~ 1. Optional binding 이란? Optional Type의 변수에서 값을 추출(unwrapping)하는 과정을 일컬어 Optional binding이라 합니다. 아래로는 여러 바인딩 방법에 대해 알아보도록 할게요~! 2. forced unwrapping forced unwrapping, 번역하면 강제 추출이라는 뜻으로 Optional Type 변수에서 값을 강제로 추출하는 방법입니다. 사용법은 추출할 변수명뒤에 !를 붙혀주면 됩니다. 그러면 출력 결과에 unwrapping된 값(summer)이 찍히는 걸 볼 수 있습니다. 두 번째 예제는 n..
안녕하세요~ 차니에요! 오늘은 옵셔널(Optional)에 대해 알아볼거에요. 관련 내용이 많아서 시리즈로 작성하도록 하겠습니다! 1. 옵셔널이란 무엇인가? Optional은 nil을 사용할 수 있는 타입인지 아닌지를 구분하기 위해 사용합니다 nil을 사용할 수 있는 type을 Optional Type 반대로 nil을사용할 수 없는 type을 Non-Optional Type이라고 지칭합니다. 글만 보면 잘 와닿지 않을테니 간단한 예제를 통해 알아보도록 하겠습니다. 2. Non-Optional Type, Optional Type 첫 번째로 Non-Optional Type 입니다. nil은 Optional Type에서만 사용 가능하다고 했죠? 예제를 보면 일반 String에 nil을 대입하려고하니 에러가 나는..