[Swift] 클래스와 상속, super와 override
·
Apple/Swift
1. 클래스란? Swift에서 클래스는 객체 지향 프로그래밍(OOP)의 기본 빌딩 블록입니다. 해당 클래스 유형의 개체가 가질 수 있는 속성과 동작을 정의하는 청사진입니다. 클래스는 개체라고도 하는 인스턴스를 만들기 위한 템플릿 또는 프로토타입 역할을 합니다. 클래스에서 데이터를 저장하는 속성과 작업을 수행하거나 기능을 제공하는 메서드를 정의할 수 있습니다. 속성은 이름, 사용 기간 또는 색상과 같은 개체의 특성 또는 특성을 나타냅니다. 반면에 메서드는 개체가 수행할 수 있는 작업 또는 동작을 정의하는 클래스와 관련된 함수입니다. Swift의 클래스는 상속을 지원하므로 수퍼클래스에서 속성과 메서드를 상속하는 하위클래스를 만들 수 있습니다. 이렇게 하면 코드 재사용이 용이해지고 기능이 추가되거나 수정된 ​..
[Swift] computed property, stored property, self, overloading
·
Apple/Swift
1. computed property의 setter setter가 있으면 get{ }는 생략할 수 없다. 매개 변수명은 newValue가 기본이다. setter의 매개변수명이 newValue인 경우에만 이렇게"(newValue)" 생략 가능하다. 2. 인스턴스 초기화하기 : init() 클래스, 구조체, 열거형(enum) 인스턴스가 생성되는 시점에서 해야 할 초기화 작업이다. 인스턴스가 만들어지면서 자동 호출된다. 3. self 현재 클래스 내 메서드나 프로퍼티를 가리킬 때 메서드나 프로퍼티 앞에 self.을 붙인다. 아래 소스에서는 self를 붙이거나 생략해도 된다. 옆의 소스에서는 매개변수와 구분하기 위해 반드시 써야 한다. 4. stored property와 computed property comp..
[Swift] 클래스, 객체, 인스턴스
·
Apple/Swift
1. 객체 인스턴스 실제로 메모리에 할당된 객체(object) 소프트웨어 애플리케이션을 개발하는데 사용되는, 쉽게 사용할 수 있으며 재사용할 수 있는 기능을 가진 모듈이다. 객체의 구성: 데이터 변수(data variable) or 속성(property), 함수 or 메서드(method) 2. 클래스란? 객체가 생성되었을 때 어떠한 모습을 보일 것인지를 정의한 것이다. 매서드는 어떠한 일을 하고 어떠한 속성이 있는지 등을 정의 3. 클래스 선언하기 "프로퍼티" 부분은 클래스 내에 포함되는 변수(var)와 상수(let)를 정의한다. "인스턴스 메서드"는 객체가 호출하는 메서드를 정의한다. "타입 메서드"는 클래스가 호출하는 메서드를 정의한다. 4. 메서드 정의 인스턴스(instance) 메서드, 클래스 또..
[Swift] 함수와 메서드
·
Apple/Swift
함수 함수란 특정 작업을 수행하는 코드 블럭이다. 수행하기 위하여 데이터가 제공될 수 있으며, 함수를 호출한 코드에 작업한 결과를 반환할 수도 있다. 함수 정의부의 값을 매개변수(parameter), 호출시의 값은 아규먼트(argument)라고 부른다. 메서드(method) 특정 클래스, 구조체, 열거형 내의 함수 함수를 스위프트 클래스 내에 선언하면 메서드라고 부른다. 디폴트 매개변수 정의하기 argument로 전달하는 값이 없는 경우, 디폴트 매개변수 값을 사용한다. 함수를 선언할 때 매개변수에 디폴트 값을 할당한다. 함수로부터 여러 개의 결과 반환하기 함수는 여러 결과 값들을 튜플로 감싸서 반환할 수 있다. 인치 단위의 수를 매개변수로 받아 야드, 센티미터, 미터로 반환하고 이 세 개의 값을 하나의..
[Swift] 연산자와 제어문
·
Apple/Swift
연산자 기본 할당 연산자 할당 연산자(=)는 두 개의 피연산자를 가진다. 왼쪽에 있는 피연산자는 값이 할당되는 변수 또는 상수이며, 오른쪽에 있는 피연산자는 할당할 값이다. 오른쪽 피연산자는 주로 산술식 또는 논리식을 수행하는 표현식이며, 그 결과는 왼쪽 피연산자인 변수나 상수에 할당한다. 범위 연산자 닫힌 범위 연산자(closed range operator) 반 열린 범위 연산자(half-open range operator) One-Side Ranges 삼항 연산자 ?: 닫힌 범위 연산자 -x...y -x에서 시작하여 y로 끝나는 범위에 포함된 숫자 ex)5...8 (5, 6, 7, 8) 반 열린 범위 연산자 -x..
[Swift] 옵셔널의 개념과 강제 언래핑
·
Apple/Swift
Optional Int형Optional(10)Optional Int형을 만들기 위해서는 Int? 또는 Int!를 사용한다.-Int형 값을 저장하는 것은 물론이고 값을 저장 안 할 수도 있다.(값이 없음) (nil)옵셔널 타입값을 반환할 때 오류가 발생할 가능성이 있는 값은 옵셔널 타입이라는 객체로 감싸서 반환한다.Int("100")은 100이 아닌 Optional(100)을 리턴함, print(Int("100")), Int형 initializerInt("Hello")은 정수 값을 반환할 수 없다. 이때 아무런 값도 반환할 수 없다는 의미로 nil을 반환하게 된다.Swift에서 기본 자료형(Int, Double, Sting 등)은 nil값을 저장할 수 없다.nil도 저장하려면 옵셔널 타입으로 선언해야 한다..