반응형

분류 전체보기 182

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

Swift | Collection (컬렉션)에 관하여 4 - Tuple

안녕하세요!오늘은 Collection 마지막 시간인Tuple에 대해서 정리하고자 합니다 Tuple은 제가 사용했던C#에서도 사용했던걸로 기억합니다하지만 구문에 차이가 납니다 보통 C#에서는 값을 반환하는데 사용을 많이 하고메서드 반환 유형으로 많이들 사용했습니다예전에는 여러 값을 반환하려고하면 클래스나 구조체를 객체로 만들어서사용했어야 하나 Tuple이 한결 가볍게 만들어줬져  Swift에서의 Tuple은괄호 안에 쉼표로 구분된 여러가지 요소들을 넣을 수 있답니다하지만 튜플의 요소가 한 번 생성이되면 변경할 수 없습니다만약에 안의 요소를 변경하고 싶다면??..새로 뚝딱뚝딱 만듭시다 ^^ 그냥 짧게 말하면 선언과 동시에 결정되기 때문에추가와 삭제 수정이 불가하다  Tuple 여러값을 그룹화 합니다튜플안에 ..

Swift 2024.05.11

Swift | Collection (컬렉션)에 관하여 3 - Dictionary

안녕하세요!Collection 3번째!!시간 오늘은 Dictionary에 대해서 알아보고자 합니다 Dictionary배열과 마찬가지로 딕셔너리는 처음부터 필요한 모든 데이터를 입력한 상태로 사용하는 경우가 많지 않아요 대부분 빈 딕셔너리를 선언(초기화)하고 하나씩 추가하는 방식이랍니다  설명처럼 고유 키와 그에 대응하는 값을 가지고 있는 한쌍의 자료형을 볼 수 있습니다Hashable하여 Set과 마찬가지로 저장되는 형식을 가지고 있답니다Hashable이 궁금하시다면 Set 게시물로 가셔서 한 번 정독 해주세요!  하지만 여기서 짧게 이야기하자면 그래서 해시 테이블에서 각 항복은 문자열 숫자와 같은 해시 가능한 유형으로해당 키를 사용하여 임의의 객체일 수 있느 해당값을 검색하는데요  Hash value를 ..

Swift 2024.05.11
반응형