목록클래스 (9)
大器晩成
싱글톤 패턴을 구현하다 보면 항상 클래스로만 구현하는데, 왜 구조체로는 구현을 안 하는 걸까?라는 의문을 가질 수 있고,그렇다면 구조체로 싱글톤 패턴을 구현을 못하는 것이냐라고 한다면, "No"입니다. 구조체로도 싱글톤 패턴을 구현할 수는 있습니다.그렇다면 왜 구조체로 사용하지 않고, 클래스로만 사용할까요? 싱글톤 패턴이란 클래스나 구조체의 단일 인스턴스만을 생성하고, 이를 전역적으로 공유하기 위해 사용되는 디자인 패턴입니다. (특정한 유일한 데이터/관리 객체가 필요한 경우 사용) -> 유일하게 1개만 존재하는 객체입니다. (단일 인스턴스)즉, 한 번 실행되면 앱이 종료할 때까지 1개의 객체로써 메모리에 상주합니다. class Monster { static let shared = Monste..
객체지향에서 상속을 정의하면 '한 클래스가 다른 클래스에서 정의된 프로퍼티나 메서드를 물려받아 사용하는 것'이라고 할 수 있습니다.상속을 사용하면 이미 만들어진 다른 클래스의 기능이나 프로퍼티를 직접 구현하지 않고도 사용할 수 있으며, 추가로 필요한 기능이나 프로퍼티만 정의하여 사용하면 됩니다.이때 기능이나 프로퍼티를 물려주는 클래스와 이를 상속받는 클래스 사이에서는 다음과 같은 관계가 성립됩니다.프로퍼티와 메서드를 물려준 클래스는 부모 클래스 = 상위 클래스 = 슈퍼 클래스 = 기본 클래스프로퍼티와 메서드를 물려받은 클래스는 자식 클래스 = 하위 클래스 = 서브 클래스 = 파생 클래스상속은 유일하게 클래스에서만 지원하는 기능입니다.(구조체는 상속 불가능)상속은 본질적으로 성격이 비슷한 타입을 새로 만들..
타입 메서드(Type Method)인스턴스를 생성하지 않고도 객체 타입 자체에서 호출할 수 있는 메서드를 타입 메서드라고 부릅니다.타입 프로퍼티의 속성을 메서드로 옮긴 것이 타입 메서드입니다.구조체나 열거형 클래스 모두 타입메서드를 선언할 때는 static 키워드를 사용합니다. 반면 하위 클래스에서 재정의 가능한 타입 메서드를 선언할 때는 class 키워드를 사용합니다(클래스의 경우에만).class - 상속 시 재정의 가능 키워드 (static 키워드로 선언하면 상속 시 재정의 불가 -> 상속이 불가능한 것은 아니다.)이렇게 선언된 타입 메서드를 호출할 때는 인스턴스 메서드와 마찬가지로 점 구문을 이용합니다. 차이점은 인스턴스 메서드는 객체 타입의 인스턴스에 대해 호출하는 것이지만 타입 메서드는 객체 ..
메서드(Methods)메서드는 일종의 함수로써, 클래스나 구조체 또는 열거형과 같은 객체 내에서 함수가 선언될 경우 이를 메서드라고 통칭합니다.함수는 독립적인 기능을 구현하기 위해 만들어지는 것이지만, 메서드는 하나의 객체 내에 정의된 다른 메서드들과 서로 협력하여 함수적인 기능을 수행합니다.메서드는 크게 인스턴스 메서드와 타입 메서드로 구분됩니다.객체의 인스턴스틀 생성해야 사용할 수 있는 메서드가 인스턴스 메서드, 객체의 인스턴스를 생성하지 않아도 사용할 수 있는 메서드가 타입 메서드입니다.인스턴스 메서드는 주어진 객체의 인스턴스와 함께 특수한 임무나 함수적인 기능을 수행하도록 캡슐화된 메서드이고, 타입 메서드는 객체 타입 자체에 관련된 메서드이다.인스턴스 메서드(Instance Methods)인스턴스..