본문 바로가기

전체 글30

Chap 9. 구조체와 클래스 구조체와 클래스의 공통점:값을 저장하기 위해 프로퍼티를 정의할 수 있습니다.기능 실행을 위해 메서드를 정의할 수 있습니다.서브스크립트 문법을 통해 구조체 또는 클래스가 갖는 값(프로퍼티)에 접근하도록 서브스크립트를 정의할 수 있습니다.초기화될 때의 상태를 지정하기 위해 이니셜라이저를 정의할 수 있습니다.초기구현과 더불어 새로운 기능 추가를 위해 익스텐션을 통해 확장할 수 있습니다.특정 기능을 실행하기 위해 특정 프로토콜을 준수할 수 있습니다.구조체와 클래스이 차이점:구조체는 상속할 수 없습니다.타입캐스팅은 클래스의 인스턴스에만 허용됩니다.디이니셜라이저는 클래스의 인스턴스에만 활용할 수 있습니다.참조 횟수 계산은 클래스의 인스턴스에만 적용됩니다.구조체와 클래스 선택해서 사용하기연관된 간단한 값의 집합을 캡.. 2024. 5. 4.
Chap 8. 옵셔널 8.2 옵셔널 추출 3가지 방법 강제 추출(!) -> 옵셔널 값이 없다면 즉시 nil이라는 오류가 발생 옵셔널 바인딩 -> if구문을 통해서 nil인지 확인 후 추출 if구문 안에서만 추출한 값 사용 가능 암시적 추출 옵셔널 -> 옵셔널 바인딩으로 매번 값을 추출하기 귀찮거나 로직상 nil 때문에 런타임 오류가 발생하지 않을 거 같다는 확신이 들때 사용(nil이 할당 될때 사용 시 오류 발생) var name: String? = "mango" MARK: 강제 추출 var apple: String = name! MARK: 옵셔널 바인딩 if let apple = name { print(apple) } MARK: 암시적 추출 var name: String! = "mango" print(name) // mango 2024. 4. 12.
스위프트 프로그래밍 [Chap 1~7] Chap 1. 스위프트 1급 객체의 조건 전달인자로 전달할 수 있다. 동적 프로퍼티 할당이 가능 변수나 데이터 구조 안에 담을 수 있다. 변환 값으로 사용할 수 있다. 할당 시 사용된 이름과 관계없이 고유한 객체로 구별 가능 함수가 일급 객체가 된다 -> 다양한 종류의 함수를 호출하고, 전달하고, 반환하는 등의 동작만으로도 프로그램을 구현 할 수 있다! 함수형 프로그래밍 패러다임으로 프로그램 작성 시 장점 여러 가지 연산 처리 작업이 동시에 이러나는 프로그램을 만들기 쉽다. 멀티 코어 혹은 여러 개 연산 프로세서를 사용하는 시스템에서 효율적인 프로그램을 만들기 쉽다. 상태변환에 따른 부작용에서 자유로워지므로 순수하게 기능 구현에 초점을 맞추어 설계 가능 Chap 2. 스위프트 처음 시작하기 Chap 3... 2024. 4. 12.
NSCache[Generic Class] 보호되어 있는 글 입니다. 2024. 4. 12.