Open Seokki-Kwon opened 3 months ago
일반적으로 이름이 없는 익명함수를 클로저라고 한다
함수와 동일한 기능을 하며 형태만 다르다.
함수의 실행흐름이 종료되면 파라미터로 받은 클로저는 사라지지만 @escaping 키워드를 붙혀서 탈출클로저로 선언해주면 함수가 종료되도 클로저가 유지된다 -> 함수의 실행흐름을 벗어남
즉시실행 클로저는 ()를 붙혀서 사용하여 일회성으로 사용하는 클로저
일반적으로 Swift에서 클로저는 익명함수를 의미한다. 클로저 내부에서 순환참조를 방지하기 위해서 캡처리스트에 순환참조가 우려되는 데이터를 weak로 선언
타입 변환(Type Casting)과 다형성(Polymorphism)에 대해 설명해보세요.
타입 캐스팅은 타입을 확인하거나 변환하는 것으로,
is 연산자로 특정 타입이 해당 타입이 맞는지 확인할 수 있다.
as연산자로는 업과 다운캐스팅을 통해 특정 타입을 해당 타입으로 변환시킬 수 있다.
(WIP)
{ (Parameter) -> Return Type in
Statements
}
프로토콜이란 무엇인지 설명해보세요. 프로토콜은 왜 쓰는건가요?
프로토콜 지향 프로그래밍은 어떤 개념인가요?
Protocol Oriented Programming과 Object Oriented Programming의 차이점을 설명해보세요.
Any와 AnyObject의 차이가 뭔가요?
타입 변환(Type Casting)과 다형성(Polymorphism)에 대해 설명해보세요.
is
연산자와 as
연산자가 있습니다.Protocol에서는 왜 var만 되는지 설명하시요.
Closure에 대하여 설명해보세요.
Closure와 함수와의 관계에 대해 설명해보세요.
탈출 클로저에 대하여 설명해보세요.
@escaping
키워드를 사용하여 클로저가 탈출하는 것을 허용한다고 명시합니다.클로저 내부에서 순환참조를 방지하려면 어떻게 해야 하나요?
weak
키워드를 사용한 약한 참조 또는 unowned
키워드를 사용한 소유되지 않은 참조로 선언합니다.
Protocol, 다형성
Closure