글
13. Swift 구조체와 클래스
Swfit
2017. 8. 4. 12:10
13. Swift 구조체와 클래스
* 기본개념 *
값을 저장할 수는 없지만 특정 기능을 실행할 수 있는 함수와, 값을 저장할 수 있지만 혼자서 특정 기능을 실행할 수는 없는 변수 상수의 특성을 모두모아놓았다고 이해하면 편하다.
- 구조체와 클래스의 공통점
- 프로퍼티
- 변수나 상수으를 사용하여 값을 저장하는 프로퍼티를 정의할 수 있다.
- 메소드
- 함수를 사용하여 기능을 제공하는 메소드를 정의할 수 있다.
- 서브스크립트
- 속성값에 접근할 수 있는 방법을 제공하는 서브스크립트를 정의할 수 있다.
- 초기화 블록
- 객체를 원하는 초기 상태로 설정해주는 초기화 블록을 정의할 수 있다.
- 확장
- 객체에 함수적 기능을 추가하는 확장(extends)구문을 사용할 수 있다.
- 프로토콜
- 특정 형식의 함수적 표준을 제공하기 위한 프로토콜을 구현할 수 있다.
- 구조체와 클래스의 차이점
- 상속
- 클래스의 특성을 다른 클래스에게 물려줄 수 있다.
- 타입 캐스팅
- 실행 시 컴파일러가 클래스 인스턴스의 타입을 미리 파악하고 검사할 수 있다.
- 소멸화 구문
- 인스턴스가 소별되기 직전에 처리해야 할 구문을 미리 등록해 놓을 수 있다.
- 참조에 의한 전달
- 클래스 인스턴스가 전달될 때에는 참조 형식으로 제공되며, 이때 참조가 가능한 개수는 제약이 없다.
//구조체의 정의 형식
struct 구조체_이름 {
// 구조체 정의 내용이 들어갈 구문
}
//클래스의 정의 형식
class 클래스_이름 {
// 클래스 정의 내용이 들어갈 구문
}
//카멜 표기법
- 구조체와 클래스 이름의 첫 글자는 대문자로, 나머지 글자는 소문자로 작성한다.
- 2개 이상의 복합 단어는 단어별로 끊어 첫 글자는 대문자로, 나머지는 소문자로 작성한다.
- 이미 축약된 약어는 모두 대문자로 작성 가능하다(ex: JSON, NS , HTTP 등)
- 프로퍼티나 메소드를 선언할 때는 소문자로 시작한다.
- 언더바로 단어를 연결하는 방식은 지양한다.
'Swfit' 카테고리의 다른 글
14. 딕셔너리 (Dictionary) (0) | 2017.08.04 |
---|---|
12. Swift 클로저(Closure) (0) | 2017.08.04 |
11. Swift 함수의 중첩 (0) | 2017.08.04 |
10. Swift 일급 객체로서의 함수 (0) | 2017.08.04 |
9. Swift 매개변수 (1) | 2017.08.04 |