swift inout

    [오늘의 Swift 지식] In-Out이란 무엇일까?

    In-Out은 왜 사용하는 것일까? C, C++, Python, Java 등의 언어에서 함수의 파라미터는 "변수"로 사용됩니다. 그렇다면, Swift에서도 함수의 파라미터는 변수일까요? 답은 그렇지 않습니다. Swift에서 함수의 파라미터는 let 상수(Constant)로 사용되며, 당연하게도 상수인 인자 값을 변경하려고 시도하면 컴파일 에러가 발생합니다. 그렇다면, 메서드 내에서 인자값을 변경하고 원본 변수에도 영향을 주어서 그 변수에서 벗어나더라도 값이 유지가 되게 하려면 어떻게 해야 할까요? 🤔 위의 질문과 같이 인자값을 변경해주기 위해서는 함수 안에서 지역변수의 선언을 통해 값을 대입해주는 과정이 필요합니다. 하지만, 그 값은 함수를 벗어나면 사라지기 때문에 그 값을 유지시켜주기 위하여 in-ou..