iOS/Swift 문법 복습5 (인스턴스, 스태틱, 클래스) 메서드 메서드의 종류 - 인스턴스 메서드(Instance Method) - 스태틱 메서드(Static Method) - 클래스 메서드(Class Method) 1, 인스턴스 메서드 - 클래스를 통해 호출할 수 없고, 클래스를 실체화해 생성된 인스턴스를 통해 호출할 수 있는 메서드입니다. class ExClass { func instanceMethod() { print("Instance") } } let ex = ExClass() ex.instanceMethod() // Instance //출처: https://thoonk.tistory.com/55 [thoonk's record:티스토리] 2, 스태틱 메서드와 클래스 메서드 공통점 - 타입 메서드입니다. - 인스턴스를 생성하지 않고 바로 접근하여 호출할 수 있습.. 2022. 6. 30. 프로토콜 [Protocol] 정의 - 특정 역할을 하기 위한 메서드, 프로퍼티, 기타 요구사항 등의 청사진 - 프로토콜을 만족시키는 타입을 채택(conform)이라고 합니다. - 프로토콜에 필수 구현을 추가하거나 추가적인 기능을 더하기 위해 프로토콜을 확장(extend)할 수 있습니다. 사용 - 프로토콜을 채택해서 특정 기능을 실행하기 위한 프로토콜의 요구사항을 실제로 구현할 수 있습니다. - 프로토콜은 정의를 하고 제시를 할 뿐 스스로 기능을 구현하지는 않습니다. (조건만 정의) - 하나의 타입으로 사용되기 때문에 아래와 같이 타입 사용이 허용되는 모든 곳에 프로토콜을 사용할 수 있습니다. 함수, 메서드, 이니셜라이저의 파라미터 혹은 리턴 타입 상수, 변수, 프로퍼티의 타입 배열, 딕셔너리의 원소타입 1-1, 프로토콜 정의 pro.. 2022. 6. 29. 옵셔널 [Optional] 옵셔널 - 값이 있을 수도 없을 수도 있는 것 - 오직 옵셔널 타입만 nil을 반환할 수 있습니다. - 오류의 발생 가능성이 조금이라도 있으면 옵셔널로 정의해 안정성을 높일 수 있습니다. 옵셔널 타입 - 옵셔널은 nil이거나 nil이 아닌 값만 가질 수 있습니다. nil : 실행 과정에서 오류가 발생했을 때 nil이 아닌 값 : 오류가 발생하지 않았을 때, 반환하려는 값이 옵셔널 형태로 나오는 값 사용 - 자료형 뒤에 ?나 !를 붙여 옵셔널 타입으로 정의할 수 있습니다. -? 나! 를 사용하여 옵셔널 객체 내부에 값이 대입되며, 값을 할당하지 않으면 자동으로 nil값이 됩니다. 옵셔널 해제 - 옵셔널 타입의 결괏값으로는 연산을 할 수 없습니다. - 옵셔널 값으로 나온 결과는 반드시 옵셔널 언래핑을 해줘야.. 2022. 6. 28. 프로퍼티 (Properties) 프로퍼티 정의 - 프로퍼티는 구조체, 클래스, 열거형 내부에 구현할 수 있습니다. - 다만 열거형 내부에는 연산 프로퍼티만 구현할 수 있습니다. - 연산 프로퍼티는 var로만 선언할 수 있습니다. - 연산 프로퍼티를 읽기 전용으로는 구현할 수 있지만, 쓰기 전용으로는 구현할 수 없습니다 - 읽기 전용으로 구현하려면 get 블록만 작성해주면 됩니다. - 읽기전용은 get블록을 생략할 수 있습니다. - 읽기, 쓰기 모두 가능하게 하려면 get 블록과 set블록을 모두 구현해주면 됩니다. - set 블럭에서 암시적 매개변수 newValue를 사용할 수 있습니다. 프로퍼티 종류 1, 저장 프로퍼티(Stored Properties) 2, 지연 저장 프로퍼티(Lazy Stroed Properties) 3, 연산 프.. 2022. 6. 27. Struct와 Class, Enum의 차이를 설명하시오. Class - 객체라는 용어 대신 인스턴스 사용 - (인스턴스/타입) 메서드 || 프로퍼티 - 래퍼런스 형태로 공유 가능 - 단일 상속만 가능 - 참조 타입 (데이터 전달 시, 값이 아닌 메모리의 위치를 전달) Struct - Swift의 대부분의 자료형 타입은 구조체로 정의된다. - (인스턴스/타입) 메서드 || 프로퍼티 - 항상 새로운 변수의 값의 복사가 일어나, 멀티 스레드 환경에서 에러 발생확률이 적다. - 상속 불가 - 값 타입 (데이터 전달 시, 값을 복사해서 전달) Enum - 유사한 종류의 여러 값을 유의미한 이름으로 모아놓은 타입 - (인스턴스/타입) 메서드 || 연산 프로퍼티 지정 - case들이 그 자체로 값 - 상속 불가 - 값 타입 (데이터 전달 시, 값을 복사해서 전달) 구조체와.. 2022. 6. 25. 이전 1 다음