본문 바로가기

분류 전체보기

(50)
Swift의 값/참조 타입 클래스 vs 구조체/열거형 •클래스는 참조 타입, 열거형과 구조체는 값 타입이라는 것이 가장 큰 차이•클래스는 상속이 가능하지만, 열거형과 구조체는 상속이 불가능 1. 값 타입과 참조 타입 비교 •값 타입(Value Type) : 데이터를 전달할 때 값을 복사하여 전달 •참조 타입(Reference Type) : 데이터를 전달할 때 값의 메모리 위치를 전달 123456789101112131415161718192021222324252627282930313233343536struct ValueType { var property = 1} class ReferenceType { var property = 1} // 첫 번째 구조체 인스턴스let firstStructInstance = ValueType() // ..
Swift의 열거형 1. 열거형 Swift 열거형은 다른 언어의 열거형과 많이 다름. 강력한 기능을 지니고 있어 잘 알아두고 사용하면 좋음 •유사한 종류의 여러 값을 한 곳에 모아서 정의한 것. 예) 요일, 월, 계절 •enum 자체가 하나의 데이터 타입으로, 대문자 카멜케이스를 사용하여 이름을 정의 •각 case는 소문자 카멜케이스로 정의 •각 case는 그 자체가 고유의 값 (각 case에 자동으로 정수값이 할당되지 않음) •각 case는 한 줄에 개별로도, 한 줄에 여러개도 정의할 수 있음 1234567891011121314enum 이름 { case 이름1 case 이름2 case 이름3, 이름4, 이름5 // ...} // 예제enum BlackPink { case Jennie case Rose case Lisa c..
Swift의 클래스 1. 클래스 •클래스는 참조(reference) 타입 •타입이름은 대문자 카멜케이스를 사용하여 정의 •Swift의 클래스는 다중 상속이 되지 않음 2. 클래스 문법 •정의: "class" 키워드 사용 123class 이름 { /* */}cs •프로퍼티 및 메서드 구현 1234567891011121314151617181920212223242526class Sample { // 가변 프로퍼티 var mutableProperty: Int = 100 // 불변 프로퍼티 let immutableProperty: Int = 100 // 타입 프로퍼티 static var typeProperty: Int = 100 // 인스턴스 메서드 func instanceMethod() { print("instance method..
Swift의 구조체 1. 구조체 •스위프트의 대부분 타입은 구조체로 이루어져 있음 •구조체는 값(Value) 타입 •타입이름은 대문자 카멜케이스를 사용하여 정의 2. 구조체 문법 •구조체 정의 : "struct" 키워드 사용 123struct 이름 { /* 구현부 */}cs •구조체 프로퍼티 및 메서드 구현 1234567891011121314151617181920struct Sample { // 가변 프로퍼티 (값 변경 가능) var mutableProperty: Int = 100 // 불변 프로퍼티 (값 변경 불가능) let immutableProperty: Int = 100 // 타입 프로퍼티(static 키워드 사용 : 타입 자체가 사용하는 프로퍼티) static var typeProperty: Int = 100 //..
Swift의 옵셔널 추출 1. 옵셔널 추출 •옵셔널에 들어있는 값을 사용하기 위해 꺼내오는 것 2. 옵셔널 방식 •옵셔널 바인딩 1. nil 체크 + 안전한 추출2. 옵셔널 안에 값이 들어있는지 확인하고 값이 있으면 값을 꺼내옵니다3. if-let 방식 사용 123456789101112131415161718192021222324252627282930313233343536373839404142434445func printName(_ name: String) { print(name)} var myName: String? = nil // printName(myName)// 전달되는 값의 타입이 다르기 때문에 컴파일 오류발생 if let name: String = myName { printName(name)} else { print("..
Swift의 옵셔널 1. 옵셔널의 뜻 •값이 있을 수도, 없을 수도 있음을 표현 •nil이 할당될 수 있는지 없는지 표현 1234567891011// optionalParam에 nil이 할당될 수 있음func funciton(optionalParam:Int?) { // ....} // optionalParam에 nil이 할당될 수 없음func function(optianlParam:Int) { // ....} function(optionalParam: nil)cs 2. 옵셔널을 쓰는 이유 •명시적 표현1. nil의 가능성을 코드만으로 표현가능2. 문서/주석 작성 시간 절약 •안전한 사용1. 전달받은 값이 옵셔널이 아니라면 nil 체크를 하지 않고 사용가능2. 예외 상황을 최소화 하는 안전한 코딩3. 효율적 코딩 3. 옵셔널..
영광 국제 스마트 e-모빌리티 엑스포 개최 소식 (이미지 클릭시 해당 사이트로 연결됩니다.) 안녕하세요! Ji-nun입니다! 요즘 스마트 모빌리티가 국제적으로 엄청난 대세인데요. 이번에 전남 영광에서 국제 스마트 모빌리티 엑스포를 개최한다고하여 소식을 알려드리러 왔습니다! ^^ 전 얼마전 전동킥보드를 타면서 스마트 모빌리티가 참 편리하고 좋다는 것을 많이 느꼈습니다. 하지만 주변에 스마트 모빌리티를 구매하고 싶어도 가격때문에 망설이시는 분들이 많으실거라 생각되는데요. 이번 엑스포에서는 사전등록시 무료 전시관람뿐만이 아니라 시승체험 및 블랙타임 등등 많은 행사가 진행됩니다. 구매를 고려하고 계시지만 나에게 맞는 전동제품이 어떤 종류일지 한번 더 고려해볼수 있는 좋은 기회이지 않을까 싶네요. 기간은 10월 11일 목요일부터 10월 14일 일요일까지 공식행..
Swift의 반복문 •for-in•while•repeat-while 1. for-in 구문 •기존 언어의 for-each 구문과 유사 •Dictionary의 경우 이터레이션(반복) 아이템으로 튜플이 들어옴 •for-in 구문 기본 형태 123for item in items { /* 실행 구문 */}cs •for-in 구문의 사용 1234567891011var integers = [1, 2, 3]let people = ["jinun": 10, "eric": 15, "mike": 12] for integer in integers { print(integer)} // Dictionary의 item은 key와 value로 구성된 튜플 타입임for (name, age) in people { print("\(name): \(age)"..