swift230 [Swift] 초기화 초기화 (Initialization)클래스, 구조체, 열거형 인스턴스를 사용하기 위해 준비 작업을 하는 단계각 저장 프로퍼티의 초기 값을 설정 →initializer를 정의 하는 것으로 구현 저장 프로퍼티를 위한 초기값 설정인스턴스의 저장 프로퍼티는 사용하기 전 반드시 특정 값으로 초기화 돼야 함 (기본 값으로 설정/특정 값으로 설정 가능)NOTEinitializer에서 저장 프로퍼티에 값을 직접 설정하면 프로퍼티 옵저버가 호출되지 않고 값 할당이 수행 이니셜라이저특정 타입의 인스턴스 생성 (이니셜라이저의 가장 간단한 형태_ 파라미터 없이 init 키워드 사용)init() {// perform some initialization here}기본 프로퍼티프로퍼티 선언과 동시에 값을 할당, 이 값을 초기 값으.. 2024. 3. 25. [Swift] 상속 상속(Inheritance)클래스에서 다른 클래스로 부터 상속할 수 있음클래스에서 저장 프로퍼티, 계산 프로퍼티 상관없이 상속 받은 프로퍼티에 프로퍼티 옵저버를 사용해 값 설정에 반응할 수 있음기반클래스다른 어떤 클래스로부터 상속받지 않은 클래스 SomeSuperclass서브클래싱부모로 부터 성격을 상속받고 자신 고유의 특성도 추가할 수 있음class SomeSubclass: SomeSuperclass { // subclass definition goes here}서브클래싱은 계속할 수 있음 오버라이딩 (Overriding)서브클래스에서 부모클래스에서 상속받은 것을 재정의인스턴스, 메소드, 타입 메소드, 인스턴스 프로퍼티, 타입 프로퍼티, 서브스크립트 모두 가능다른 선언 앞에 override키워드 붙여 .. 2024. 3. 22. [Swift] 서브스크립트 서브스크립트(Subscripts)클래스, 구조체, 그리고 열거형에서 스크립트를 정의해 사용 가능콜렉션, 리스트, 시퀀스 등 집합의 특정 멤버 엘리먼트에 간단하게 접근 할 수 있는 문법추가적인 메소드 없이 특정 값을 할당하거나 가져올 수 있음하나의 타입에 여러 서브스크립트를 정의할 수 있고 오버로드(Overload)도 가능단일 인자 값을 넘어, 필요에 따라 복수 인자 값 사용 가능서브스크립트 문법 (Subscript Syntax)서브스크립트는 읽고-쓰기(read-write) 혹은 읽기 전용(read only)만 가능setter, getter 방식을 따름subscript(index: Int) -> Int { get { // 적절한 반환 값 } set(newValue) { .. 2024. 3. 22. [Swift] 메서드 메서드(Methods)특정 타입의 클래스, 구조체, 열거형과 관련된 함수 인스턴스 메서드 (Instance Methods)특정 클래스, 구조체, 열거형의 인스턴스에 속한 메서드인스턴스 내의 값을 제어하거나 변경 가능인스턴스가 속한 특정 타입의 인스턴스에서만 실행 가능class Counter { var count = 0 func increment() { count += 1 } func increment(by amount: Int) { count += amount } func reset() { count = 0 }}let counter = Counter()// 초기 count 값은 0입니다.counter.increment()// co.. 2024. 3. 21. [Swift] 프로퍼티 저장 프로퍼티계산 프로퍼티값을 저장하고 있는 프로퍼티값을 저장하고 있지 않고 특정하게 계산한 값을 반환해 주는 프로퍼티클래스와 구조체에서만 사용 가능클래스, 구조체, 열거형 모두에서 사용가능저장 프로퍼티let키워드를 이용해서 상수 혹은 var키워드를 이용해서 변수로 선언해 사용struct FixedLengthRange { var firstValue: Int let length: Int}var rangeOfThreeItems = FixedLengthRange(firstValue: 0, length: 3)// 범위 값은 0, 1, 2 입니다.rangeOfThreeItems.firstValue = 6// 범위 값은 6, 7, 8 입니다. 상수 구조체 인스턴스의 저장 프로퍼티구조체를 상수(let)로 .. 2024. 3. 20. [Swift] 클래스와 구조체 클래스 VS 구조체공통점값을 저장하기 위한 프로퍼티 정의기능을 제공하기 위한 메소드 정의 subscript 문법을 이용해 특정 값을 접근할 수 있는 subscript 정의초기 상태를 설정할 수 있는 initializer 정의기본 구현에서 기능 확장특정한 종류의 표준 기능을 제공하기 위한 프로토콜 순응(conform)차이점(클래스만 가능)상속 (Inheritance): 클래스의 여러 속성을 다른 클래스에 물려 줌타입 캐스팅 (Type casting): 런타임에 클래스 인스턴스의 타입을 확인소멸자 (Deinitializers): 할당된 자원을 해제(free up) 시킴참조 카운트 (Reference counting): 클래스 인스턴스에 하나 이상의 참조가 가능구조체를 사용하는 경우주 목적이 관계된 간단한 값.. 2024. 3. 19. 이전 1 2 3 4 5 6 ··· 39 다음 반응형