스위프트3 27

swift3 스위프트3 타입 캐스팅 : 업 캐스팅과 다운 캐스팅

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 타입 캐스팅에 대해서 공부하는데요.다른 언어에서는 캐스팅이라고 하면 강제 타입 변환을 생각하는데요.스위프트에서 타입 캐스팅을 다른 개념입니다. 스위프트에서 타입 캐스팅은 인스턴스의 타입을 확인하는 용도로 사용됩니다.또는 클래스의 인스턴스를 부모 또는 자식 클래스의 타입으로 사용할 수 있는지확인하는 용도로 사용됩니다.키워드는 is, as 를 사용합니다. 예제 클래스들 )class Animal { var name : String = "" func crySound() { print("동물은 각각의 독특한 울음소리를 가지고 있습니다") }}..

swift3 스위프트3 옵셔널 체이닝 / nil 병합 연산자란?

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 옵셔널 체이닝과 nil 병합 연산자에 대해서 공부합니다. - 옵셔널 체이닝 : 옵셔널 요소 내부의 프로퍼티로 또 옵셔널이 연속적으로 연결되는 경우에 유용하게 사용할 수 있습니다. 예제)class Student{ var name : String var school : School? init ( name : String) { self.name = name }} class School { var schoolName : String var rank : String? var grade : String? init(schoolName : Stri..

swift3 스위프트3 인스턴스의 생성, 인스턴스 소멸

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 swift3 인스턴스의 생성과 인스턴스의 소멸에 대해서 공부합니다. 스위프트에서 모든 인스턴스는 초기화를 하는 동시에 모든 프로퍼티에 유효한 값이 할당되어야 하는데요. 프로퍼티에 미리 기본 값을 할당해두면 인스턴스가 생성되면서 동시에 초기 값을 지니게 돼요. 예제 코드) class Poketmon { var name : String = "알려지지 않음" var age : Int = 0 } // 만약 기본값을 할당해주지 않는다면 오류가 발생합니다. let altongmon : Poketmon = Poketmon(..

swift3 스위프트3 상속

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 상속에 대해서 공부합니다. 스위프트에서 상속은 클래스 또는 프로토콜 등에서 가능합니다.열거형, 구조체에서는 사용할 수 없습니다. 형태 :class ChildClass : ParentClass { // 구현} 예제)부모 클래스class Espresso { var name : String = "" func info() { print("\(name) 입니다") } class func selectShot() { print("샷은 변경 가능합니다.") } final func usedBean() { print("브라질 산..

swfit3 스위프트3 프로퍼티와 감시자

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 프로퍼티와 프로퍼티 감시자에 대해 공부합니다. 프로퍼티는 구조체나 클래스, 열거형에서 구현하는데요.타입이랑 연관된 값을 표현할 때 사용합니다. 프로퍼티에는저장 프로퍼티연산 프로퍼티인스턴스 프로퍼티타입 프로퍼티가 있으며 열거형에는 연산 프로퍼티만 구현할 수 있고,연산 프로퍼티는 var 키워드를 통해서만 구현할 수 있습니다. 예제) Struct Example { // 저장 프로퍼티 var name : String = "" var age : Int = 0 // 인스턴스 연산 프로퍼티 var ageInForeignCo..

swift3 스위프트3 클로저 closure

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 swift 3 Closure 클로저에 대해 공부합니다. 클로저는 코드의 블록으로 일급시민입니다. 우리가 앞서 배웠던 함수도 클로저의 일종입니다.이름이 있는 클로저를 함수라고 지칭합니다. 선언 예 { (매개변수 목록) -> 반환타입 in // TODO } 반환타입의 생략은 불가능합니다. 반환 값이 없을 경우 Void 를 선언합니다. 예제) // 함수 func sumFunc(a:Int, b:Int) -> Int { return a+b } var sumVar : Int = sumFunc(a:100, b:200) pr..

swift3 스위프트3 값 타입과 참조 타입 - Value Type VS Reference Type

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 값 타입과 참조 타입에 대해 공부합니다. 값 타입 - struct 구조체 - enum 열거형 참조 타입 - class 클래스 Class : OOP(객체 지향 프로그래밍) 관점에서의 클래스입니다. : 단일상속만 가능합니다. (다중 상속 불가) : 인스턴스 메소드와 타입(스태틱) 메소드를 가집니다. : 인스턴스 프로퍼티와 타입(스태틱) 프로퍼티를 가집니다. : Apple Framework 의 대부분의 큰 뼈대는 모두 클래스로 구성되어 있다고 하네요. Struct : 값 타입입니다. : 상속을 지원하지 않습니다. :..

swift3 스위프트3 열거형 enum

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 enum 열거형에 대해 공부하겠습니다. enum 이름 { case name1 case name2 case name3, name4}enum 은 타입이기 때문에 첫 글자를 대문자로 선언해주어야 하고각 case 들은 소문자로 정의합니다.위처럼 case를 하나 씩 선언하거나 콤마로 구분하여 여러 개를 선언할 수 있고,각 case는 그 자체가 고유 값입니다.그리고 C나 java 처럼 각 값에 정수가 대입되지 않습니다. ex) enum Seasons { case spring case summer case fall case..

swift3 스위프트3 구조체(struct)와 클래스(class)

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 구조체와 클래스에 대해 공부하겠습니다. 구조체 : 값 타입입니다.struct 이름 { // 구현 코드} 이름은 첫 글자를 대문자로 시작해줍니다. struct Altong { var a : Int = 10 // 가변 프로퍼티 let b : Int = 20 // 불변 프로퍼티 static var c : Int = 30 // 타입 프로퍼티 ( 자바의 스태틱과 같다고 볼 수 있습니다.) func intanceMethod() { print("인스턴스 메소드입니다") } static func typeMethod() { p..

swift3 스위프트3 Optional 옵셔널이란?

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 옵셔널에 대해서 공부하겠습니다. Optional : 값이 있을 수도 있고 없을 수도 있음Optional을 사용하는 이유는 nil의 가능성을 명시적으로 표현하기 위해서 입니다. Optional을 사용함으로써 얻을 수 있는 이점 - nil 가능성을 문서화하지 않더라도 코드만으로 충분히 표현 가능합니다. - 문서나 주석의 작성 시간을 절약할 수 있습니다. - 전달 받은 값이 옵셔널이 아니라면 nil 체크를 하지 않아도 안심하고 사용할 수 있습니다. - 효율적으로 코딩을 할 수 있고 예외 상황을 최소화하는 안전한 코딩..