반응형

분류 전체보기 129

swift 내장함수 print 안에 separator 과 terminator 알아보자

일단 separator 이전에 기능에서 사용해보면서 알고 있엇는데 terminator은 처음 알게되어서 기록에 남겨야 될거 같아 적어본다.  print(”Hello World”) 로 주로 사용하기 때문에우리는 func print(_ item: Any) 의 형태라고 생각하겠지만..사실 print문의 정의는func print(_ items: Any..., separator: String = " ", terminator: String = "\n")로 separator과 terminator Parameter가 있는 걸 알 수 있다기본값이 지정이 되어있었기 때문에 우리가 입력해주지 않아도 잘 굴러갔던 것 ~ separatorA string to print between each item. The default i..

코딩 2024.06.18

swift 고참함수 compactMap, flatMap에 대해 알아봅시다.

compactMapReturns an array containing the non-nil results of calling the given transformation with each element of this sequence.컨테이너의 각 요소를 조건을 지정하여 호출할 때, nil 이 아닌 배열을 반환합니다.선언 (Declaration)Apple 에서는 compactMap 이 아래처럼 정의되어 있네요.func compactMap(_ transform: (Self.Element) throws -> ElementOfResult?) rethrows -> [ElementOfResult]매개변수 (Parameters)transformtransform 는 컨테이너의 요소를 매개변수로 받아 선택적 값을 반환하는..

코딩 2024.06.18

swift readline 대해 알아보자

일단 readline 사용하기 위해서는 연습하는 playground 에서 안된다.입력 콘솔창이 이는 readline 사용해야된다.playground는 샌드박스이기 때문에 input이 없다고 한다. 그래서 actual application을 통해서만 input을 받을 수 있다실습준비해보자 실습 가능한 actual application 파일 생성 방법은 다음과 같다.들어가는 경로는 xcode > project > macOS > commandLineTool  xcode Command Line Tool Let's Code 우선 readLine() 함수를 input변수에 담아 print 해 보았다. 실행 결과는. 경고문이 뜬다.  아까 공식문서의 리턴값이 String? 이었던 것에 대한 경고문이 뜬다.그리고 출력..

코딩 2024.06.17

swift 프로퍼티에 대해 알아보자

다양하게 공부를 하다보니 프로토콜 사용시 저장 프로퍼티만 가능하다는 말이 나왔다.잉... 프로퍼티는 클래스나 구조체이서 변수 상수 인데 다른 기능이 있는건가?궁굼하게 되어서 찾아보게 되었다.  Swift에선 이 프로퍼티가 총 3가지 형태로 존재를 한다 Stored Property : 저장 프로퍼티Computed Property : 연산 프로퍼티Type Property : 타입 프로퍼티   저장 프로퍼티(Stored Property)란? 클래스와 구조체에서만 사용할 수 있고, 값을 저장하기 위해 선언되는 상수/변수 ㅇㅖ... 먼저 우리가 지금껏 아무렇지 않게 클래스, 구조체에서변수와 상수를 담기 위해 사용하는 다음과 같은  class Human {    let name: String = "unknown" ..

코딩 2024.06.12

swift 인터페이스 와 프로토콜 차이 알아보자

인터페이스  스위프트에서는 프로토콜이 그 역활을 한다고 한다. 자바의 경우 인터페이스가 존재하지만 스위프트는 그 역활을 프로토콜이 비슷하게 하는듯  스위프트 - 자바 인터페이스 차이 알아보자! 자바는 인터페이스 - 기본값 설정 가능스위프트 프로토콜 - 기본값 설정 불가능 객체간의 인터페이스 추상화 예를 들면 학생 관시 시스템을 만들 때 구조체로 할 경우 struct Student { var name: String var age: Int var grade: String} 이 구조체 만으론 학생 정보를 관리하기에는 불편함이 있다. 예를 들어 학생 정보를 검색하거나 정렬하는등의 작업을 할 때 마다 이 구조체를 계속해서 수정하거나 새로운 함수를 작성해야한다.이를 해결하기위해 인터페이스를 추상화하..

코딩 2024.06.12

swift 객체지향 프로그램 추상화 캡슐화 상속 다형성(오버라이딩, 오버로딩) 알아보자

객체지향이 먼지도 모르고 일단 오버라이드를 사용하게 되었는데 무엇이길레 중요하고 꼭 알아야 하는가 궁굼증 때문에 찾아보게 되었다. 객체지향 프로그래밍은 4가지 특성으로 가진다고 한다.🟠 객체지향 프로그래밍의 4가지 특성 (✨중요!)1️⃣ 추상화객체의 공통적인 속성과 기능을 추출하여 정의하는 것즉, 현실세계의 사물을 객체로 보고, 필요한 공통특성만 다루어 현실의 복잡성을 제거하고 목적에 집중할 수 있도록 한다.예를들어 토끼, 강아지, 사자라는 객체들을 하나읙 공통된 특징을 바탕으로 포유류 로 추상화 할 수 있다.2️⃣ 캡슐화 - 객체 수행 목적에 따라 데이터 구조 및 처리 방법을 결합시켜 묶어서, 외부에 내부 기능 구현 내용을 감추고 이용방법만 알려줌. - 외부객체는 내부객체의 구조를 알지 못하고, 객체..

코딩 2024.06.12

swift 프로토콜에 대해 알아보자

스위프트에서 정의하는 프로토콜프로토콜 (Protocols)준수하는 타입이 구현해야 하는 요구사항을 정의합니다.프로토콜 (protocol) 은 메서드, 프로퍼티, 그리고 특정 작업이나 기능의 부분이 적합한 다른 요구사항의 청사진을 정의합니다. 프로토콜은 요구사항의 구현을 제공하기 위해 클래스, 구조체, 또는 열거형에 의해 채택될 수 있습니다. 프로토콜의 요구사항에 충족하는 모든 타입은 프로토콜에 준수 (conform) 한다고 합니다.준수하는 타입의 요구사항을 지정하는 것 외에도 요구사항의 일부를 구현 하거나 준수하는 타입에 추가 기능을 구현하기 위해 프로토콜을 확장할 수 있습니다. 머라는 걸까.... 항상 어렵게 말하는 우리의 스위프트 공식홈페이지 그래서 이것 저것 찾아보게 되었다.  Protocol의 정..

코딩 2024.06.12

swift 함수와 메서드의 차이에 대해 알아보자

오늘은 함수와 메서드 차이가 무엇있지 확인해 볼려고 한다.  함수와 메서드의 정의와 소속성은??함수 1. 독립적으로 정의 2. 특정한 객체나 타입에 속해 있지 않다.3. 일반적으로 전역 범위에서 정의 된다. 4. 특정 범위 내에 내장된다. 메서드 1. 클래스 , 구조체, 열거형 등의 특정한 타입에 속해 있다.2. 객체 지향 프로그래밍에서 해당 객체의 특정한 기능을 수행하기 위해 사용된다.  여기서 의문점???1. 객체와 타입 무엇인가?2. 전역 범위가 무엇인가?3. 객체 지향 프로그래밍은 무엇인가? 이것이 무엇인지 모르니깐 어떻게 써야되는지 이해가 되지 않았다. 그래서 공부해보자 1. 객체는 무엇인가?객체(object)란?객체라는 것은 메세지를 전달 받을 수 있는 대상을 말합니다. 강아지에게 "짖어"라고..

코딩 2024.06.11

swift 매개변수 알규멘트 차이에 대해 알아보자!

매개변수 파라미터는 알겠는데 알규멘트로 말할때도 있고 내가 봤을때는 같은데 머지하고 궁굼하게 되어 다른분이 잘 정리한 것을 찾아보게 되었고 정리를 첨부하게 되었다.난 매일 까먹으니깐.... 이해한 것을 본다면 파라미터가 즉 매개변수가 알규멘트 역활도 해주기 때문에 생략했기에내가 먼지 몰랐던거 같다. 하지만 외부에서 부를 려면 알규멘트가 필요하다는 것을 알게 되었다.

코딩 2024.06.11

swift 객체 지향 프로그램에 대해 알아보자

Swift 객체지향 프로그래밍프로그래밍에도 코드를 조금 더 효율적으로 만들고 작성하기 위한 패러다임이 존재한다.절차 지향형 프로그래밍, 객체지향형 프로그래밍, 함수형 프로그래밍, 논리형 프로그래밍 등이 존재한다.한편, Swift 언어는 객체지향형, 함수형, 프로토콜 지향 프로그래밍을 모두 다룰 수 있는 언어이다.단, iOS 프레임워크가 객체지향형 프로그래밍으로 구현되어 있어서, 객체지향 프로그래밍을 하도록 권장한다.Swift 객체지향 프로그래밍객체지향 프로그래밍은 프로그램을 명령어의 집합으로 보는 것을 넘어, 여러 객체들의 모임으로 보는 것이다.각각의 객체는 메시지를 주고 받을 수 있으며, 데이터를 처리할 수 있다.객체지향 프로그래밍의 기본 구성 요소객체지향 프로그래밍의 기본 구성 요소에는 클래스, 객체..

코딩 2024.06.11
반응형