Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

sanichdaniel의 iOS 개발 블로그

nested function (중첩함수) 본문

swift

nested function (중첩함수)

sanich8355 2020. 11. 15. 14:37
마틴 파울러의 리팩토링을 읽다가 리팩토링 기법중 하나인 함수를 추출하기 단원을 읽다가,
함수가 사용되는곳이 한곳에 불과하면 private 함수로 빼는것보다 중첩함수를 사용하는것이 유용하다는 글을 읽었다.
중첩함수를 한번도 사용해본적이 없었기에 공부해보았다.

 

중첩함수를 처음 보았을때는 낯설어서 못생겼다고 생각을 했었다. 

하자만 공부해보니 중첩함수는 가독성과 캡슐화의 측면에서 이점이 있다.

 

가독성

private 함수는 클래스(또는 파일)에서 접근이 가능하다.

하지만 중첩함수는 해당 함수안에서만 사용된다는것이 보장된다.

public namespace를 줄이려고 private 키워드를 사용하듯, private namespace를 줄이기 위해 중첩함수를 사용해보자.

 

캡슐화

중첩함수는 소속된 함수의 지역변수에 접근할수 있다.

지역변수들을 인자로 전달할 필요가 없다

 

조심할점

순환참조!

 

출처

stackoverflow.com/questions/32968133/what-is-the-practical-use-of-nested-functions-in-swift

'swift' 카테고리의 다른 글

WWDC: Better Apps with Value type  (0) 2020.10.25
expression, statement, literal  (0) 2020.10.24
양방향 타입추론  (0) 2020.10.22
Operator Overloading  (0) 2020.10.16
빌드 타임 개선  (0) 2020.10.14