
Swift 구조체, 클래스
구조체 데이터를 용도에 맞게 묶어서 표현하고자 할 때 유용하다 구조체 내부에 상수나 변수 또는 함수를 선언하고 이것을 인스턴스를 만들어서 사용할 수 있다 새로운 데이터 타입을 만드는 것과 비슷하다 struct 키워드 사용 // 선언방법 struct 구조체이름 { 프로퍼티나 메서드들 } 구조체 정의와 인스턴스 생성 및 초기화 st...

구조체 데이터를 용도에 맞게 묶어서 표현하고자 할 때 유용하다 구조체 내부에 상수나 변수 또는 함수를 선언하고 이것을 인스턴스를 만들어서 사용할 수 있다 새로운 데이터 타입을 만드는 것과 비슷하다 struct 키워드 사용 // 선언방법 struct 구조체이름 { 프로퍼티나 메서드들 } 구조체 정의와 인스턴스 생성 및 초기화 st...
옵셔널 Optional 옵셔널은 nil을 사용할 수 있는 데이터 타입이다 nil을 사용 가능하다는 것은 그 변수나 상수에 값이 있거나 없을 수도 있다는 것이다 nil == NULL이고 스위프트에서는 nil로 표현한다 nil은 일반적인 상수나 변수에 사용할 수 없다 var name: String = "min" name = nil //'nil' c...
함수와 메서드 함수와 메서드는 기본적으로 같다 상황이나 용도에 따라 다른 용어로 부른다 메서드: 구조체, 클래스, 열거형 등 특정 타입에 연관되어 사용하는 함수 함수: 모듈 전체에서 전역적으로 사용 가능한 함수 함수는 조건문이나 반복 문과 달리 소괄호()를 생략 불가능 재정의(오버라이드), 중복 정의(오버로드)를 모두 지원 따라서 매개...
조건문 if 구문 if 문은 if와 else if, else로 구성되어 있다 if 문에 else if는 몇 개가 있어도 상관없고 else는 없어도 된다 스위프트의 if 문의 조건은 값이 항상 Bool 타입이어야 한다 let first : Int = 5 let second : Int = 5 if (first > second) { //...
연산자 분류 단항 연산자 피연산자가 한개인 연산자 !A 이항 연산자 피연산자가 두개인 연산자 A + B 삼항 연산자 피연산자가 세개인 연산자 A ? B : C 전위...

이진 탐색 트리 (binary search tree) 이진 탐색 트리는 그래프의 트리 구조를 사용한다 - 중복이 불가능 하다 - 각 노드는 최대 2개의 자식 노드를 가진다 - 자식 노드의 왼쪽은 자신보다 작고 오른쪽 자식노드는 자신보다 크다 ▷모든 노드는 왼쪽가지에 포함되는 어떤 숫자보다도 큰 숫자가 된다 ▷모든 노드는 그 오른쪽가지...

힙( Heap ) - 힙은 그래프의 트리 구조 중 하나로 우선순위 큐를 구현할 때 사용된다 - 여러 개의 값 중에서 최솟값이나 최댓값을 빠르게 찾아내도록 만들어진 구조이다 - 힙트리에서는 중복을 허용한다 우선순위 큐: 우선순위의 개념을 큐에 더한 것이다 - 데이터들이 우선순위를 가지고 있고 우선순위가 높은 데이터가 먼저 나간다 배...

연결 리스트 ( linked List ) 리스트는 데이터 구조의 하나로 데이터를 일직선으로 나열한 구조를 가진다 데이터 추가나 제거는 쉽지만 데이터 탐색은 오래 걸린다 red -> blue -> yellow 이런 리스트가 있으면 각각의 화살표는 포인터가 되고 다음 데이터의 위치를 가리킨다(연속적이지 않아도 되는 이유) 메모...
항목순회 열거형의 모든 항목을 알아야 할 때 항목순회를 사용한다 열거형에서 CaseIterable 프로토콜 사용 그러면 allCases 프로퍼티를 통해서 모든 케이스의 컬렉션을 생성해 준다 enum School : String, CaseIterable { case primary = "유치원" case elementary = "...
열거형 연관된 항목들을 묶어서 표현함 프로그래머가 정의해준 항목 이외는 추가,제거가 불가능하다 열거형 사용 용도 - 제한된 선택지 - 정해진 값 이외는 받지 않을때 - 입력값이 한정 되어 있을때 //열거형 선언 enum School { case primary case elementary ...