Swift10 - first class citizen 1급객체란? - 컴퓨터 프로그래밍 언어 디자인에서, 일급 객체란 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 가리킨다. - 보통 함수에 매개변수로 넘기기, 수정하기, 변수에 대입하기와 같은 연산을 지원할 때 일급 객체라고 한다. - 일급객체는 무슨 혜택을 받는다는 게 아니라, 사용할 때 다른 요소들과 아무런 차별이 없다는 것을 뜻한다. - 정수와 실수처럼 가장 간단한 스칼라 자료형은 대부분 일급 객체이다. - 스위프트에서는 클로저를 통해 일급함수를 구현 일급 객체와 이급 객체. ALGOL에서 실수는 표현식에 사용하거나 변수에 할당할 수 있으며, 프로시저에 매개변수로 넘겨질 수 있다. 하지만 프로시저의 경우 프로시저 콜에서 호출 대상 혹은 매개 변수로 등장할 수 있을 뿐이며, 프로시저.. 2021. 2. 2. Swift09 - 클로저 Closures Closures are self-contained blocks of functionality that can be passed around and used in your code. Closures in Swift are similar to blocks in C and Objective-C and to lambdas in other programming languages. 클로저란? 클로저는 실행가능한 코드 블럭입니다. 함수와 다르게 이름정의는 필요하지는 않지만, 매개변수 전달과 반환 값이 존재 할 수 있다는 점이 동일합니다. 함수는 이름이 있는 클로저입니다. 일급객체로 전달인자, 변수, 상수 등에 저장 및 전달이 가능합니다. 클로저는 함수의 전달인자인 콜백함수로 주로 사용된다 기본 클로저.. 2021. 2. 2. Swift08 - 값 타입 vs 참조타입 값 타입(Value Type) 데이터를 전달 할 때 값을 복사하여 전달합니다. 구조체 열거형 값 타입을 사용하는 경우 연관된 몇몇의 값들을 모아서 하나의 데이터 타입으로 표현하고 싶은 경우 다른 객체 또는 함수 등으로 전달될 때 참조가 아니라 복사(값 복사) 할 경우 자신을 상속할 필요가 없거나, 다른 타입을 상속 받을 필요가 없는 경우 스위프트의 기본 데이터 타입은 모두 구조체로 구현되어있습니다. 스위스트는 구조체와 열거형 사용을 선호합니다. struct ValueType { var property = 1 } // 첫 번째 구조체 인스턴스 let firstStructInstance = ValueType() // 두 번째 구조체 인스턴스에 첫 번째 인스턴스 값 복사 var secondStructInsta.. 2021. 2. 1. Switf07 - 구조체 vs 클래스 vs 열거형 클래스 - 단일상속 - 프로퍼티, 메서드 갖는다 - 참조타입 - apple프레임워크의 대부분의 큰 뼈대는 모두 클래스로 구성 구조체 - 다른 언어의 구조체보다 다양한 기능을 갖는다 - 상속 불가 - 프로퍼티, 메서드 갖는다 - 갑 타입 - swift의 대부분의 큰 뼈대는 구조체로 구성되어 있다 열거형 - 상속불가 - 열거형 자체가 하나의 값 타입 - 열거형 case 하나하나가 유의미한 값 - 값타입 2021. 2. 1. Swift-06 열거형 Enumerations An enumeration defines a common type for a group of related values and enables you to work with those values in a type-safe way within your code. 열거형이란? - 유사한 종류의 여러 값을 한 곳에 모아서 정의한 것. - enum 자체가 하나의 데이터 타입 - 대문자 카멜케이스를 사용하여 이름을 정의. - 각 case는 그 자체가 고유의 값입니다.(각 case에 자동으로 정수값이 할당되지 않음) - 각 case는 소문자 카멜케이스로 정의 - 각 case는 한 줄에 개별로도, 한 줄에 여러개도 정의할 수 있습니다. enum Weekday { case mon case tue.. 2021. 2. 1. Swift-05 구조체, 클래스 구조체란 - 새로운 데이터 타입을 정의 - 구조체 내부에 값을 저장하기 위해 프로퍼티를 정의 - 구조체 내부에서 기능 실행을 위해 메서드를 정의 - 값 타입 : 구조체로 정의한 타입의 값이 전달될때는 해당 값이 복사되어 전달된다 - 이니셜라이저 정의 가능 - 상속 불가능, 타입캐스팅 불가능, 디이니셜라이저 불가능 구조체를 사용하는 경우 - 연관된 간단한 값의 집합을 캡슐화하는 것이 목적일 때 - 캡슐화한 값을 참조하는 것보다 복사하는 것이 합당할 때 - 구조체에 저장된 프로퍼티가 값 타입이고 참조보다 복사하는 것이 합당할 때 - 다른 타입으로부터 상속받거나 자신을 상속할 필요가 없을 때 구조체 문법 구조체 프로퍼티 및 메서드 구현 struct Sample { // 가변 프로퍼티(값 변경 가능) var m.. 2021. 1. 31. 이전 1 ··· 13 14 15 16 17 18 19 ··· 32 다음