안녕하세요. 도미닉입니다. 오늘은 의존성 주입에 대해서 알아보겠습니다. 우선 의존성이 무엇인지에 대해 정리해보겠습니다. 의존성이란? 위 코드와 같이 Programmer 구조체에서 startProgramming 함수가 호출되기 위해서는 Coffee 구조체가 필요합니다. 이 때 Programmer 구조체는 ‘Coffee 객체에 의존성을 가진다’라고 합니다. 위 예제에서 Coffee 구조체의 drink 메소드가 없어지거나 drink 메소드의 내용이 바뀌면 그에 따라 Programmer 의 startProgramming 메소드가 변경되어야 합니다. 이럴 때 코드의 재활용성이 떨어지고 결합도가 올라가게 됩니다. 아래에서 의존성 뒤에 붙는 주입이라는 단어에 대해서 알아보겠습니다. 주입이란? 위에 코드를 보시면 Co..
앞에서 소개드린 구조체 안에 내용 중에 프로퍼티에 대해서 먼저 알아보겠습니다. 프로퍼티는 저장 프로퍼티, 연산 프로퍼티, 타입 프로퍼티로 나뉘어집니다. 첫번째로 저장 프로퍼티는 가변 프로퍼티와 불변 프로퍼티로 나뉩니다. 구조체는 기본적으로 모든 저장 프로퍼티를 포함하는 이니셜라이저가 자동으로 생성됩니다. 위에 Cat 구조체에서 그것을 사용해보았습니다. 저장 프로퍼티는 기본값을 설정할 수도 있으며 기본값이 있는 경우 이니셜라이저 없이 인스턴스 생성이 가능합니다. struct Coordinate { var x: Int = 0 var y: Int = 0 } let point: Coordinate = Coordinate() 만약 저장 프로퍼티가 옵셔널이면 해당 프로퍼티는 초기값을 넣어주지 않아도 됩니다. 지연 ..
오늘은 스위프트의 구조체에 대해서 알아보겠습니다. struct 이름 { 프로퍼티 메서드 } 위와 같은 형태로 선언할 수 있습니다. 예를 들면 고양이 구조체는 아래와 같이 선언할 수 있습니다. struct Cat { let name: String var age: Int } 구조체는 자동으로 생성된 이니셜라이저를 통해 생성할 수 있습니다. var yaong: Cat = Cat(name: "yaong", age: 5) 또는 아래와 같이 직접 이니셜라이저 메서드를 선언해줄 수 있습니다. init (nameEntred: String) { name = nameEntred age = 1 } 직접 이니셜라이저 메서드를 선언해주면 기본으로 생성된 이니셜라이저는 사용하실 수 없습니다. 위에서 인스턴스를 만들어주는 소스는 ..
- Total
- Today
- Yesterday
- 형용사
- 왕초보 영단어1
- exercise
- Apple
- 함수
- IOS
- terascan
- Xcode
- 단어
- 애플
- 테라스캔
- 반복문
- 연습문제
- 데이터베이스
- 프로그래밍
- 리눅스
- C
- 매트랩
- 포인터
- 프로그램
- Swift
- MySQL
- 뇌를 자극하는 C 프로그래밍
- 스위프트
- 시원스쿨
- database
- 배열
- Matlab
- 영어
- 뇌를 자극하는 C프로그래밍
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |