이 포스트는 야곰님의 Swift 프로그래밍 2판을 보고 스스로 공부한 내용을 정리한 포스트 입니다.


예제 코드


참고 자료


복수 서브스크립트

  • 하나의 타입이 여러 개의 서브스크립트를 가질 수도 있다.

    • 다양한 매개변수 타입을 사용하여 서브스크립트를 구현하면 여러 용도로 서브스크립트를 사용할 수 있다는 뜻이다.

subscriptImage-2 subscriptImage-3

  • 위의 코드의 School 클래스에 총 3개의 스크립트를 정의했다.

    • 두 개의 읽고 쓰기 가능한 서브스크립트와 하나의 읽기 전용 서브스크립트고 각각의 서브스크립트는 매개변수 타입과 개수, 반환 타입이 모두 다르다.

      • 첫 번째 서브스크립트는 학생의 번호를 전달받아 해당하는 학생이 있다면 Student 인스턴스를 반환하거나 특정 번호에 학생을 할당하는 서브스크립트이다.

      • 두 번째 서브스크립트는 학생의 이름을 전달받아 해당하는 학생이 있다면 번호를 반환하거나 특정 이름의 학생을 해당 번호에 할당하는 서브스크립트이다.

      • 세 번째 서브스크립트는 이름과 번호를 전달받아 해당하는 학생이 있다면 해당하는 학생을 찾아서 Student 인스턴스를 반환한다.


서브스크립트 마무리

  • 서브스크립트 Summary 시리즈에 나오는 모든 예시들처럼 서브스크립트는 메서드인듯 아닌듯, 연산 프로퍼티인듯 아닌듯 중간 형태를 띠며 인스턴스 이름 뒤에 대괄호만 써서 편리하게 내부 값에 접근하고 설정해줄 수 있다. 또, 다양한 목적으로 구현하는데 용이하다.