[TIL] Swift - 구조체, 클래스

신승현·2024년 1월 26일

TIL

목록 보기
10/72

1. 구조체와 클래스

  • 개념적으로 구조체와 클래스는 하나의 큰 코드 블록이다.
  • 스위프트는 기본적으로 객체지향 언어이다. 필요한 기능을 객체로 구현하여 사용한다는 것이 객체지향 언어의 핵심인데, 이때 객체를 만들어내는 주요 대상이 바로 구조체와 클래스이다.

2. 정의구문

  • 구조체는 struct 키워드를 사용하여 정의하고, 클래스는 class 키워드를 사용하여 정의한다.
// 구조체 예시
struct Resolution {
    // 구조체 정의 내용이 들어갈 부분
}

// 클래스 예시
class VideoMode {
    // 클래스 정의 내용이 들어갈 부분
}

3. 메서드와 프로퍼티

  • 구조체와 클래스 내부에서 정의된 변수나 상수를 프로퍼티 또는 속성이라고 한다.
struct Resolution {
    var width = 0 
    var height = 0
    
    func desc() -> String {
        return "Resolution 구조체"
    }
}

class VideoMode {
    var interlaced = false
    var frameRate = 0.0
    var name: String?
    
    func desc() -> String {
        return "VideoMode 클래스"
    }
}

4. 인스턴스

  • 구조체나 클래스를 변수나 상수에 대입한 것은 인스턴스라고 한다.
// Resolution 구조체에 대한 인스턴스를 생성하고 상수 insRes에 할당
let insRes = Resolution()

// VideoMode 클래스에 대한 인스턴스를 생성하고 상수 insVMode에 할당
let insVMode = VideoMode()

5. 초기화

  • 구조체나 클래스 이름 뒤에 빈 괄호를 붙이면 기본적인 인스턴스가 생성되지만, 괄호 안에 인자값을 넣으면 초기화 하기위해 필요한 값이다.
// width와 height를 매개변수를 하여 Resolution 인스턴스를 생성
let defaultRes = Resolution(width: 1024, height: 768)
profile
개발자

0개의 댓글