전체 글 117

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

swift 전역범위 지역범위에 대해 알아보자

동물적 감각으로 그냥 쓰고 있었지만 머라 명칭해야 될지 몰랐다....독학의 길은 끝도 없는 것 같다.그래서 이름을 기억하기 위해 사용법을 정확하기 알기 위해 이렇게 남겨본다.전역범위와 지역범위에 대해 알아보자 전역 범위(Global Scope) vs 지역범위(Local Scope)   안녕하세요:)코드의 범위에 대해서 알아보겠습니다~    변수와 상수는 자신만의 범위, Scope를 가지고 있습니다.Scope는 선언된 위치에 따라서 결정되는데, 자신이 속한 범위 내에서 유일한 이름을 가져야 합니다.   브레이스(  {  }  )로 전역범위와 지역범위를 구별하는데요, .. 먼저,  전역범위 Global Scope 는  어떤 브레이스에도 속하지 않고 하나만 존재합니다.,  지역범위 Local Scope 는  ..

카테고리 없음 2024.06.11

swift 객체에 대해 알아보자

코딩을 시작하면서 객체지향 프로그램 객체를 어떻게 이건 객체가 아니다 말은 하는데객체가 도대체 머야??? 생각이 들어서 찾아보게 되었다. 객체(object)란?객체라는 것은 메세지를 전달 받을 수 있는 대상을 말합니다. 강아지에게 "짖어"라고 한다면 강아지를 객체라고 할 수 있습니다.swift에서는 객체가 될 수 있는 존재가 3가지가 있습니다. 바로, struct, class, enum 입니다. 참고로 objective-c에도 struct와 enum이 있지만 class 또는 class 인스턴스만 객체가 될 수 있고 struct와 enum은 객체가 될 수 없습니다. 이 사실은 Cocoa와 objective-C가 어떻게 서로 연동되어있는지를 파악할 때 상당히 중요합니다.객체(object)에 메세지를 전달하는..

카테고리 없음 2024.06.11