열거형 Enum - 특징 유사한 종류의 여러 값을 한 곳에 모아서 정의한 것 / 예시) 요일, 월, 계절 등 enum 자체가 하나의 데이터 타입 / 대문자 카멜케이스를 사용하여 이름을 정의 각 case는 소문자 카멜케이스로 정의 각 case는 그 자체가 고유의 값 (각 case에 자동으로 정수값이 할당되지 않음) 각 case는 한 줄에 개별로도, 한 줄에 여러개도 정의할 수 있음 enum 이름 { case 이름1 case 이름2 case 이름3, 이름4, 이름5 // ... } // 예제 1 enum Weenend { case mon case tue case wen case tur case fri case sat, sun } // 예제 2 enum Fruit { case apple case orange,..
iOS/Swift
구조체 struct 구조체이름 { } 클래스 class 클래스이름 { } - Camel Case 구조체 이름의 첫 글자는 대문자로 시작한다 ❌ 언더바는 사용하지 않는게 좋다 ❌ Properties 내부에서 정의된 변수, 상수 특정 값을 저장하기 위함 Method 내부에서 정의된 특정 기능을 담당하는 함수 - Properties& Method 구조체 EX struct Resolution { var width = 0 var height = 0 func desc() -> String { return "Resolution 구조체" } } 저장 프로퍼티 - width, height 0으로 초기화 되었으므로 타입추론규칙에 의해 Int 데이터 타입으로 추론된다 - Properties& Method 클래스 EX cl..
일급 객체 First-Class object - 조건 전달 인자로 전달 가능할 것 변수나 데이터 구조 안에 저장할 수 있을 것 함수 자체를 변수에 집어넣음 반환 값으로 사용 가능할 것 고유하게 구별이 가능할 것 변수나 상수처럼 사용할 수 있어야 한다 swift는 함수형 언어로서, 함수를 일급 객체로 취급한다 함수를 호출, 전달, 반환하는 동작만으로 프로그램의 구현이 가능하다 - 중첩함수 함수 내부에 작성된 함수 = 내부함수 내부 함수를 포함하는 바깥쪽 함수 = 외부함수 외부함수가 종료되면 내부 함수도 함께 종료 = 내부함수의 생명 주기 내부함수는 외부함수를 거치지 않으면 접근 불가능, 외부 코드로부터 차단된다 = 함수의 은닉성 내부함수는 선언된 외부함수에서만 참조할 수 있다 내부 함수에 외부 함수의 지역..
함수 Function - 특징 독립적으로 처리될 수 있는 부분을 분리하여 구조화 한 객체 여러번 호출하여 사용할 수 있다 Swift 는 함수형 프로그래밍 패러다임을 채택하고 있기 때문에, 함수형 프로그래밍의 특징을 이해하는 것은 매우 중요⭐⭐⭐ 일반 함수 프로그래밍 언어/프레임워크 에서 제공하는 함수 기본적인 데이터 처리, 연산을 수행하기 위해 사용 ex) print(), reversed() 사용자 정의 함수 개발자가 필요에 의해 직접 만든 함수 - 사용자 정의 함수 func 키워드 사용 함수명 첫 글자는 영어 / _ 언더바로 시작 매개변수가 여러개라면 , 콤마 를 통해 구분 / 매개 변수가 없다면 소괄호를 빈 채로 유지한다 반환타입(returnType)과 반환값의 데이터 타입은 일치해야 한다 - 함..
Optional - 특징 스위프트가 잠재적 오류를 다루는 방법 안전성을 높이기 위해 사용 nil을 사용할 수 있는 타입 = 옵셔널 - nil 값이 없음을 의미 0이나 ""(공백)과는 다르다 옵셔널 타입만 nil을 반환할 수 있다 - 선언 자료형 뒤에 물음표를 붙인다 옵셔널 타입으로 자료형 선언 시, 자동으로 nil 로 초기화 된다 값을 대입할 때는 일반 변수처럼 생각하고 다루어도 괜찮다 - 값 처리 옵셔널 타입 결과값은 그대로 사용할 수 없다 / 연산을 지원하지 않는다 옵셔널 해제 / 옵셔널 언래핑 :: 옵셔널 객체 내부 값을 추출하는 과정 명시적 해제 강제적 해제 비강제적 해제 묵시적 해제 컴파일러에 의한 자동 해제 연산자를 사용한 자동 해제 - 옵셔널 강제 해제 옵셔널 타입의 값 뒤에 ! 느낌표를 붙..
배열 Array - 특징 순서가 있는 리스트 형식의 값 순서 = 인덱스 index (정수) 인덱스는 맨 앞을 0으로 시작하여 순서대로 부여된다 하나의 배열 안 아이템의 데이터타입은 전부 같아야 한다 선언 시 배열 타입을 명확히 정의해야 한다 - 순회 탐색 순서가 있는 데이터를 처음부터 끝까지 차례대로 읽어들이는 것 예시 - 반복문 배열 탐색 시, 루프 상수에 담기는 값은 인덱스가 아니라 배열의 아이템 그 자체이다. - 아이템 추가 append(_:) 입력값을 배열의 맨 뒤에 추가 insert(_: at:) 입력값을 원하는 위치에 직접 추가 append(contentOf:) 한 번에 여러개의 값을 입력 - 범위 연산자 이용, 인덱스 참조 일정 범위의 배열 아이템을 한 번에 읽어들일 때 사용한다 집합 Set..