본문 바로가기

Func

(5)
[iOS] 옵셔널 , 함수, 클로저 옵셔널, 함수 INDEX 1. 옵셔널 1.1. 옵셔널 타입의 선언과 정의 1.2. 옵셔널 값 처리 1.3. 옵셔널 바인딩 2. 함수 2.1. 사용자 정의 함수 2.2. 함수 호출 2.3. 가변 인자 2.4. 일급 객체로서의 함수 3. 클로저 3.1. 클로저 표현식과 경량 문법 1. 옵셔널 옵셔널(Optional)은 스위프트에서 도입된 새로운 개념으로서 언어 차원에서 프로그램의 안정성을 높이고자 사용하는 개념이다. 옵셔널은 성공적으로 값을 반환한다는 보장이 없는, 즉 값을 처리하는 과정에서 오류가 발생할 가능성이 있는 값을 옵셔널 타입이라는 객체로 감싼 후 반환한다. 이를 옵셔널 래핑 (Optional Wrapping) 이라고 한다. 여기서 중요한 점은 "오류가 발생할 가능성"이다. 즉, 오류가 발생할 가..
static 변수 (static variable) 이번에 설명할 변수는 스테틱 변수다.static은 전역변수와 지역변수 모두 선언을 추가할 수 있다. 이번에는 지역변수에 추가하는 상황을 설명할 것 이다! 우리가 아는 지역변수는 접근의 범위가 선언된 함수 내에서만으로 제한되어져 있다. 지역변수에 static 선언을 하게되면 지역변수와 전역변수의 특성을 둘다 가질수 있다. static 지역변수의 특성 - 선언된 함수 내에서만 접근이 가능하다 ( 지역변수 특성 )- 한번마나 초기화되고 프로그램 종료 시까지 메모리 공간에 존재 ( 전역변수 특성 ) 즉 , 접근의 범위가 전역변수보다 좁으나 전역변수의 risk를 제거하는 특성을 지닌다 , 훨씬 안정적이다. 다음 예제를 통해 전역변수의 특성을 알아보도록 하자 4행에서 simplefunc이라는 함수를 선언하고 정의한..
전역 변수 (Global Variable) 이번에 설명할 변수는 '전역변수'이다앞서 설명한 변수인 지역변수와는 매우 비교되는 함수다! 우리가 여태껏 사용해왔던 변수들은 호출된 시점으로부터 메모리 공간에 할당되서 함수가 종료되면 메모리 공간에서 소멸되는 지역변수 형태의 변수들이다. 이번 전역변수는 프로그램이 처음 실행되는 순간 메모리 공간에 할당되어 프로그램이 종료될 떄까지 메모리 공간에 남아있는 변수이다! 전역변수는 이름 그대로 언제 어디서든 접근이 가능한 변수로 지역변수와 달리 중괄호 내에 선언되지 않는다. 다음 간단한 예제를 통해 전역변수를 알아보자! 5행에서 num이라는 전역변수를 초기화하지 않고 선언만 하였다 , ( 보기와 같이 전역변수는 함수 몸체 내에 선언되지 않는다. 9헹에서는 함수 내부에 선언한 변수도 아닌 num을 출력을 시도한다..
지역 변수 (Local Variable) 앞서 우리는 변수에대해 뭐라고 설명했는가?변수는 데이터의 값을 저장할수 있는 메모리공간이다. 변수는 선언되는 위치에 따라서 크게 '전역변수'와 '지역변수'로 나뉘어진다! 그리고 그 둘 변수의 차이는 이러하다 - 메모리에 존재하는 기간- 변수에 접근할 수 있는 범위 두 차이점을 곰곰히 생각하며 이번 공부를 해보자! 이쯤에서 뭔가 생각이 생길것이다. 지역변수 ? 전역변수 ? 왜 두 변수의 이름이 저렇게 정의되었지? 지역? 전역? 왠지 아직 살펴보진 않았지만 어느정도 느낌이 온다. (오길 바래오........ 안와도 괜찮아오 앞으로 설명할꺼에오) 첫번쨰로 지역변수에 대해 설명하도록 하겠다. ( 진짜 너무도 중요한 부분!!!!!!!) '지역변수'에서의 '지역'은 말 그대로 일정하게 구획된 어느 범위를 말한다.즉..
함수 정리 절차지향적 성격을 띄는 C언어에서 함수는 전부라고 말해도 과언이 아닌것 같다. 모든 C에는 함수가 없는 코드가 없다. 함수로 시작해서 함수로 끝나는 언어인 C언어의 함수를 정리해보자. 초반부에서 함수에 대해 언급한 적이 있는데 그 당시 그림을 다시 살펴보자 반환형태 함수 이름 입력형태int main (void) { 함수 몸체 } 이러한 구조의 그림을 기억하자! 이것 또한 정말 중요한 내용이다! 입력(전달인자)와 그에 따른 적절한 반환값이 존재하는것이 함수라고 앞서 얘기했다. 그러나 c언어에는 전달인자가 없거나 반환값이 없는 경우의 함수들도 존재한다. C언어에는 총 4가지 종류로 함수를 나눌수있다.1) 전달인자가 있고 반환값이 있는 경우 2) 전달인자가 있고 반환값이 없는 경우 3) 전달인자가 없고 반환값..