반응형

전체 글 184

공식문서 Swift | class(클래스)와 struct(구조체)에 관하여 - 초기화와 생성자 2 (✏️편의생성자)

안녕하세요!저번에 이어서생성자에 대해서 좀 더 자세히 알아보고자 합니다저번시간에 정말 기초적인걸 다뤘으니 궁금하시다면한 번 읽고 오시는걸 추천드립니다~!  우선 구조체의 생성자에 대해서 정리하는 시간을 가지려고 합니다 구조체의 생성자는 클래스에 비해서 비교적 간단합니다 구조체는 init() 생성자내부에 self.init(...)으로 오버로딩된 함수 호출이 가능합니다   이렇게 이미지를 보면 init(매개변수 red, green, blue)함수를  오버로딩한 함수에서 호출하는걸확인할 수 있습니다  다음으로 클래스 생성자에 대해서 알아보고자 합니다 클래스는 구조체보다 좀 더 다양하게 생성자를 만들 수 있습니다 클래스는 지정생성자와 편의생성자가 있습니다 쉬운 예제 하나를 보고 설명하도록 하겠습니다 지정생성자는..

Swift 2024.05.17

Swift | class(클래스)와 struct(구조체)에 관하여 - 초기화와 생성자

안녕하세요오늘은 init에 대해서 다루고자 합니다 앞에서 간단하게 사용방법을 배웠었죠? 오늘은 좀 더 깊이 배워보고자 합니다 기본적으로 생성자와 초기화는 코드로 보는게 더 편할겁니다   초기화(initialization)는인스턴스가 사용될 수 있도록 준비하는 과정입니다초기화는 인스턴스를 생성할 때 실행되고 생성자를 통해 수행이 됩니다 생성자(Initializer)는보통 init 키워드로 정의가되고인스턴스가 생성될 때 자동으로 호출이됩니다모든 속성이 기본값을 가지고 있다면 직접 생성자를 정의하지 않아도 됩니다그러나 초기화가 필요한 경우 생성자를 직접 정의해야합니다init()도 오버로딩이 가능합니다  위 코드에서는 생성자는 property 속성을 초기하는데 사용이 됩니다 생성자는 객체를 초기화하고 속성을 설..

Swift 2024.05.16

Swift | class(클래스)와 struct(구조체)에 관하여 - 상속(inheritance)과 재정의(overriding vs overloading)

안녕하세요!오늘은 상속에 대해서 알아보고자 합니다 상속이란 말 그대로 클래스가 다른 클래스에게 무언가 남겨줄 수 있는유산 같은거라고 생각하시면 됩니다 상속은 부모가 자식에게 물려받는 것을 의미하는데이걸 코드에도 적용이 됩니다 상속(Inheritance) 한 클래스가 다른 클래스에서 정의된 프로퍼티나 메서드를 물려받아 사용하는 것 (구조체❌클래스🙆🏻‍♀️) only class에서만 사용이 가능한 기능 게임에서 정말 많이 사용했던 아이이기 때문에 낯설지가 않은데요스위프트에서 예제로 알아봅시다  클래스를 하나 우선 만들어주고이제 자식에게 상속을 해보고자 합니다 상속의 형태는 class 클래스명: 부모 클래스 이름 {...구현 부분 ....} 로 되어있답니다  코드로 구현하자면 이렇게 구현할 수가 있답니다 ..

Swift 2024.05.16

Swift | class(클래스)와 struct(구조체)에 관하여 - 메서드(method)

안녕하세요!저번엔 프로퍼티(속성)에대해서 배웠었는데요 프로퍼티에는저장 / 계산 / 옵저버 / 타입이 있는걸 배웠었죠? 이번엔 메서드(method)에대해서 알아보고자 합니다 메서드(Method) 클래스나 구조체 열거형과 같은 특정 객체 내에서함수가 선언될 경우에 메서드라고부릅니다 method에는 인스턴스 매서드와 타입메서드가 있습니다   우선 인스턴스 메서드부터 알아봅시다인스턴스 메서드인스턴스 메서드는 객체 타입 상태로는 호출이 가능하지 않고반드시 인스턴스화 후에 호출할 수 있답니다 클래스 / 구조체 / 열거형 같은 각각 인스턴스에 속하는 함수랍니다 클래스 경우  다음으로 구조체에 대해서 알아봅시다 엇??!!클래스랑 동일하게 사용이 가능할 줄 알았는데 안된다고 당황하지 마세요 mutating 키워드를 사용..

Swift 2024.05.16

Swift | class(클래스)와 struct(구조체)에 관하여 - 3 property ( 프로퍼티 옵저버 willSet, didSet / 타입프로퍼티)

안녕하세요오늘은 프로퍼티 2번째 시간입니다 프로퍼티 옵저버와타입프로퍼티에 대해서 배우고자 합니다 저번시간에저장 프로퍼티와계산 프로퍼티에 대해서 배웠는데요모르겠다 하시는 분들은한 번 읽어보고 이 게시글을 보는것을 추천드립니다  프로퍼티 옵저버(Property Observer) 값이 변경될 때 이를 알아차리고 반응하는 객체입니다 옵저버는 프로퍼티 값이 설정될 때 마다 항상 호출됩니다 만약 현재 값과 동일한 값이 할당되더라도 프로퍼티 옵저버는 호출이 된답니다 프로퍼티 옵저버는 2가지 종류가 있습니다 willSet / didSet 용도가 반대된답니다  속성이 변하는 시점을 알아차리고 호출되는 코드를 짜는 자체가 어렵기 때문에실제 프로젝트에서 많이 사용하는데여기서 didSet을 더 많이 사용합니다  매개상수는 d..

Swift 2024.05.16

Swift | AnyObject / Any란?

안녕하세요!오늘은 AnyObject에 대해서 알아보고자 합니다 공부하는데 질문이 올라오게됩니다 Dictionary()value에 아무값이나 와도 된다는건가요?? 정답맞습니다 하지만 사용할 수 있는 범위가 있는데 제가 잘못알고 있더라구요 흑흑반대로 알고 있던 나자신.. 하지만 이렇게 잘못된 점에 대해서 알게되어서무척 기뻤답니다 저는 클래스가 아닌 구조체나 enum이 anyobject범주에 속하는 줄 알았지만아니더라구요 enum이나 구조체는 any라는 데이터에 담길 수 있지만AnyObject는 클래스에서 생산된것들에 대해서 가능하답니다 조원분이 명확한 이미지를 가지고 와서 단번에 이해했답니다!   Any✏️'Any'는 값과 참조타입을 모두 포함한 모든 타입의 인스턴스를 나타냅니다✏️모든 타입을 나타내는 프로..

Swift 2024.05.14

Swift | class(클래스)와 struct(구조체)에 관하여 - 2 property (저장 프로퍼티 / 계산 프로퍼티)

안녕하세요!저번에 이어서 클래스와 구조체를 좀 더 다루고자 합니다 :) 오늘은 프로퍼티에 대해서 다루고자 합니다 저번시간에 단순히 프로퍼티는 변수를 부르며속성이라고도 부른다라고 배운적이 있죠? 만약 저번 글을 읽지 않았다면class(클래스)와 struct(구조체)에 관하여 - 1을 읽는걸 추천드립니다 :) 우선 프로퍼티를 다루기전객체 지향에 대해서 다루고자 합니다 객체지향OOP(Ojbect- Oriented Programming)4대 특징  프로퍼티란? 클래스나 구조체뿐만 아니라 열거형에서도 사용이 됩니다 프로퍼티는 값에 대한 역할을 기준으로저장 프로퍼티연산 프로퍼티 2가지가 있습니다  저장 프로퍼티는값이 저장된다라고 알고 있으면됩니다 그리고 연산 프로퍼티는연산을 통해서 값을 만들어 내는 역할입니다 간단..

Swift 2024.05.14

Swift | class(클래스)와 struct(구조체)에 관하여 - 1

안녕하세요오늘은 드디어!! 드디어!!클래스와 구조체에 대해서 알아보고자 합니다 처음 마주치기 때문에 음.. 무슨말이지할 수도 있을것 같기두해요 저역시 그랬으니까요! 속성(Property)와 메서드(method)를 포함하는 코드 블록을 구성할 수 있는유연한 객체라고 할 수 있습니다 class는 Objective-C에서도 제공된 개념이지만Objective-C에서 사용하기 어려움이  있었던 구조체나 열거형도 자유롭게사용할 수 있습니다 이 둘의 공통점은 모두 속성과 메서드를 가질 수 있다는 공통점이 있습니다 그리고 객체 지향 언어인 스위프트는 구조체와 클래스 여러가지 면에서 유사점이 많은 객체랍니다 우선 공통점에 대해서 논하고자 합니다  우선 클래스와 구조체 간단히표로 정리한걸 보고 설명하고자 합니다   클래스..

Swift 2024.05.14

Swift | 함수 (Function)에 관하여 - 1

안녕하세요!어느덧 클래스와 구조체를 배우기 전함수에 대해서 알아보고자 합니다 함수는 독립적으로 처리될 수 있는 부분을 분리하여구조화한 객체를 의미합니다 외부에 의존하는 부분이 없고 캡슐처럼 포장해 놓은것 입니다 그래서 여러 번 호출하여 사용할 수 있어서 재사용하기좋답니다 함수란?  함수란 입력값을 받아서내부 처리과정을 거치고 결과값을 주는 형태를 기본으로 자리잡고 있답니다  입력값(44)인자값 or 파라미터(parameter)라고 부르며 결과값(53 - 그림에서는 ????)을결과값 or 리턴값(return값)이라고 부릅니다  인자값은하나도 없을 수도 있고 여러개 일 수도 있습니다 반환값 역시 없을 수도 있고 반환할 수도 있습니다하지만 반환값이 존재한다면 일반적으로 하나의 값만 만환합니다 만약 둘 이상을 ..

Swift 2024.05.13

Swift | Optional에 관하여

안녕하세요!오늘은 타언어에서는 보지 못한 옵셔널에 대해서 알아보고자 합니다 옵셔널 옵셔널은 값을 반환하는 과정에서 오류가 발생하는 상황이 많기 때문에안정성을 높이고자 사용합니다 "오류를 발생할 가능성을 없앤다" 말하자면 타 언어에서는 값이 없을 때 불러오게되면오류가 발생하게 됩니다만약 옵셔널 타입에 값이 저장되지 않는 변수를 불러내면오류가 발생하지 않고nil이라고 알려줍니다 엇??!! null이라고 타 언어에서 본것 같은데그럼nil과 null은같은 건가요??... NO  비슷한 늬앙스지만 다르답니다 :)  nilnull특징• 주로 Lua / Swift 언어에서 사용• "값이 없음"을 나타낸다 (그냥 특정 타입에 대한 값이 X)• Swift에서 포인터의 개념이 없기 때문에 nil을 가져온 거라는 말이 있음..

Swift 2024.05.13
반응형