상속 부모 클래스의 특성과 동작을 자식 클래스가 물려받아 확장하고 수정할 수 있다. 이를 통해 코드의 재사용성과 구조화에 유용하다. class Figure { var name = "Unknown" init(name: String) { self.name = name } func draw() { print("draw \(name)") } } class Circle: Figure { var radius = 0.0 } let c = Circle(name: "Circle") c.radius c.name c.draw() class Rectangle: Figure { var width = 0.0 var height = 0.0 } class Square: Rectangle { }위 예제에서 Circle 은 Figure..
Instance Method 클래스 , 구조체 , 열거형 내 선언되는 함수이며, 이러한 메서드는 특정한 인스턴스에 속하는 동작이나 기능을 표현한다. 해당 인스턴스의 속성에 엑세스 하거나 상태를 변경하는데 사용 특정 인스턴스에 속해있음 : 이 메서드를 호출할 땐 해당 인스턴스의 이름을 사용하여 호출 인스턴스 속성에 접근 : 인스턴스 메서드는 동일한 인스턴스 내 속성에 접근할 수 있다. (self 키워드를 활용하여) 인스턴스 상태 변경 : 인스턴스 메서드는 해당 인스턴스의 상태를 변경할 수 있다. class MyClass { var property: Int init(property: Int) { self.property = property } func instanceMethod() { //인스턴스 메서드의 ..
계산 속성 (Computed Properties) 계산 속성은 클래스 , 구조체 , 열거형 내 값을 계산하여 반환하는 속성이다. 이 속성은 실제로 값을 저장하지 않고 속성에 접근할 때 마다 특정한 코드 블록(getter) 을 실행하여 값을 계산 , 반환한다. 계산 속성은 저장 속성과는 달리 값을 직접 저장하지 않지만, 값을 계산하기 위한 연산을 수행하는 코드 블록을 제공한다. (getter) 계산 속성은 값을 동적으로 생성하거나 계산할 때 유용하다. var propertyName: PropertyType { get { // 속성의 값을 계산하고 반환하는 코드 } set(newValue) { // 속성에 새 값을 할당하거나 다른 작업을 수행하는 코드 } }get 블록은 속성에 접근할 때 실행되며, 값을 반..
변수 저장 속성 클래스나 구조체에 값을 저장 하는데 사용하는 속성이며, 이러한 속성은 해당 클래스 혹은 구조체의 인스턴스에 속하며, 인스턴스가 생성될 때마다 메모리에 할당된다. 변수 저장 속성은 ‘var’ 를 사용 class Person { var name: String var age: Int init(name: String, age: Int) { self.name = name self.age = age } } let person = Person(name: “John”, age: 30) person.age = 35 // 나이를 변경할 수 있다. (30 → 35)상수 저장 속성 클래스 또는 구조체 내에서 값을 저장하는데 사용 되는 속성이며, 한번 할당되면 그 값을 변경 할 수 없는 속성이다. 이 속성은 초..
값 형식(Value Type)과 참조 형식(Reference Type) 값 형식 - Structure , Enumeration , Tuple 참조 형식 - Class , Closure 값 형식은 원본에 영향을 미치지 않지만 참조 형식은 원본에 영향을 미친다. 객체지향 프로그래밍에서는 대부분 참조형식으로 구현한다. 상대적으로 적은 데이터를 구현하고 상속이 필요하지 않으면 값 형식을 사용한다. 값이 전달되는 시점에 복사본이 생성되어야 하는 경우에도 값 형식을 사용한다. 참조를 전달해야 하거나 상속을 해야하는 경우는 Class를 사용한다. 값 형식 struct Point { var x: Int var y: Int } var point1 = Point(x: 5, y: 10) var point2 = point1 ..
Structure 값 타입이며 , 구조체 변수를 새로운 변수에 할당할 때 마다 새로운 구조체가 할당되는 특징을 가지고 있다. 즉, 같은 구조체를 여러개의 변수에 할당한 뒤 값을 변경시키더라도 다른 변수에 영향을 주지 않는다. Class 참조 타입이며, ARC로 메모리를 관리한다. 같은 클래스 인스턴스를 여러 개의 변수에 할당한 뒤 값을 변경시키면, 할당한 모든 변수에 영향을 준다. 상속이 가능하며, 타입 캐스팅을 통해 클래스의 인스턴스 타입을 확인할 수 있다. deinit 을 사용하여 클래스 인스턴스의 메모리 할당을 해제 할 수 있다. Structure 와 Class 의 공통점 값을 저장할 프로퍼티를 선언할 수 있습니다. 함수적 기능을 하는 메서드를 선언할 수 있습니다. 내부 값에 . 을 사용하여 접근할..