함수

Written by Tejay
on 

함수

  • 함수는 하나의 작업의 가장 작은 단위이자 하나의 작은 프로그램
  • 프로그램 명령문의 묶음, 일련의 명령문들을 모아두고, 이를 외부에서 호출할 수 있게 한 구조

  • 함수의 장점
    • 프로그램 재사용으로 인한 절약 (메모리 공간, 코딩시간의 절약, 프로그램의 크기를 줄임)
    • 가독성 증가 (세부 사항을 숨기면서 프로그램의 논리 구조를 강조함)
    • 유지보수확장성 용이, 문제 해결성 및 분할성 제고

image

  • 함수의 정의와 호출

    스위프트의 함수는 재정의(오버라이딩)중복정의(오버로딩)를 모두 지원한다. 따라서, 매개변수의 타입이 다르면 같은 이름의 함수를 여러개 만들 수 있고, 매개변수의 개수가 달라도 같은 이름의 함수를 만들 수 있다. 그렇기 때문에 코드 중간중간에 이름이 같은 함수를 구현해도 오류가 발생하지 않는다.

  • 기본적인 함수의 정의와 호출

    • 스위프트의 함수는 자유도가 높다. 기본적으로 함수의 이름과 매개변수(Parmameter), 반환타입(Return Type) 등을 사용하여 정의한다.

      func 함수이름 (매개변수: 데이터 타입, ...) -> 반환타입 {
          //실행 구문
        return 반환값
      }
      
      func add (num1: Int, num2: Int) -> Int {
          return num1 + num2
      }
      
  • 함수와 메서드

    함수메서드는 기본적으로 같다. 다만 상황이나 위치에 따라 구분이 된다. 구조체, 클래스, 열거형 등 특정 타입에 연관되어 사용하는 함수를 메서드라 하고, 모듈 전체에서 전역적으로 사용할 수 있는 함수를 그냥 함수라고 한다.