[Swift 3] 클래스 정의하기

2016-06-26
23 Views

[문법]

Swift로 개발하는 앱은 클래스라는 단위로 구성된다. 클래스에서 객체의 속성을 유지하기 위해 사용하는 인스턴스 변수 처리를 위한 정의 방법을 정의한다. 클래스명 앞에 필요에 따라 접근한정자를 선언하고 상속하는 클래스나 구현하는 프로토콜이 있으면 “:”으로 구분해서 구현한다. 접근한정자는 아래와 같다.

  • internal : 동일한 프로젝트내에서 접근 가능 (기본값)
  • public: 어디서든 접근 가능
  • private: 클래스가 정의된 소스코드내에서만 접근 가능

접근한정자는 아무것도 지정하지 않는 경우 기본적으로 internal이 적용되며 이것이 적용된 클래스는 동일한 프로젝트내에서 어디서나 사용할 수 있게 된다. API나 라이브러리로 클래스를 이용한다면 public을 선언하여 동일한 프로젝트 이외에도 사용할 수 있음을 명시해준다. private는 클래스가 정의된 소스코드로 동일한 파일내에서만 이용이 제한되는 클래스를 명시해주는 경우에 선언한다. 다른 소스코드에서 클래스를 접근 및 사용이 안되므로 주의해야 한다.

init메소드는 클래스 초기화를 위해 사용되는 이니셜라이저(특수 메소드)이다.

에제

클래스명은 이미 사용된 클래스명은 사용할 수 없다. 이런 경우 Xcode에서는 오류가 발생하기 때문에 다른 클래스명으로 변경하자.

init는 독특한 메소드중 하나로 일반적인 메소드와 다르게 func를 넣지 않고 사용된다.

클래스에서 자기자신을 참조하는 경우 예약어 “self”를 이용한다. 예제 Dog클래스에서 name속성에 접근한다면 self.name으로 처리할 수 있다.

Facebook Comments

You may be interested

[Swift3] 폐쇄(Closure)에 대해 살짝 이해할 수 있는 팁
Swift 3.0
shares10 views
Swift 3.0
shares10 views

[Swift3] 폐쇄(Closure)에 대해 살짝 이해할 수 있는 팁

MJ Kim - 4월 29, 2017

몇몇 개발자를 만나 개발을 하다보면, 폐쇄(Closure)에 대해 이해를 하지 못해서 간단하게 바로 이해할 수 있는 팁을 정리해본다. 앱을 개발하다보면 https통신을…

[Swift3] UITextview의 keyboard 닫기
Swift 3.0
shares2 views
Swift 3.0
shares2 views

[Swift3] UITextview의 keyboard 닫기

MJ Kim - 4월 29, 2017

스토리보드에서 델리게이트를 선언하고 class에 UITextViewDelegate를 상속받아서 delegate=self를 viewDidLoad에서 설정하면 간단하게 해결되는데 가끔 헷깔려 하는 경우가 있어 적어본다. [crayon-5904ae62d5ae6851117285/] [crayon-5904ae62d5aeb571377220/] [crayon-5904ae62d5aed356626121/]…

스토리보드에서 다국어 지원 및 Xcode 8.3이상에서 이슈
Swift 3.0
shares5 views
Swift 3.0
shares5 views

스토리보드에서 다국어 지원 및 Xcode 8.3이상에서 이슈

MJ Kim - 4월 29, 2017

다국어 지원은 우선 Localizable.strings파일을 생성한 다음 언어를 지정한다. 그리고 필자가 자주 사용하는 일부 컨트롤들에 대한 확장(extension)을 추가한 다음 스토리보드에서 사용하는…