본문 바로가기 메뉴 바로가기

강경하다

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

강경하다

검색하기 폼
  • 분류 전체보기 (141)
    • iOS (27)
    • Swift (39)
    • Swift Playground (14)
    • Design Pattern (5)
    • TDD (3)
    • CleanCode (2)
    • Algorithm (40)
    • Git (5)
    • CS Basic (4)
    • SoOn (0)
    • Review (2)
  • 방명록

CLASS (5)
Initializer

상속을 받은 클래스에서 생성자를 만들 때는, 부모의 생성자를 호출시켜야 한다. * 2-phase Initialization : 클래스 생성시의 두 단계 -> 보다 안정적인 코드를 작성하기 위해 지켜야 한다. phase1. 모든 property는 initialized 되어야 한다. (init할 때, 자식에게만 있는 sports를 먼저 지정해준 뒤 부모 init을 호출시킨다.) phase2. phase1을 모두 끝낸 뒤에야 property와 method의 사용이 가능해진다. - designated Initializer : 주 initializer - convenience Initializer : 부 initializer (initializer가 너무 길때 유용하게 사용 가능 + 원하는 것만 딱 받아서 사용이..

Swift 2021. 1. 2. 19:28
Inheritance

Inheritance : 클래스의 공통 된 부분은 최대한 재활용하기 위한 방법 Person : Super Class (Parent Class) Student : Sub Class (Child Class) * 상속의 규칙 1. 자식은 한개의 suer class만 상속 받는다. 2. 부모는 여러 자식들을 가질 수 있다. 3. 상속의 깊이는 상관이 없다. (할머니 클래스도 생성가능) * 상속을 사용할 때 필요한 고려사항 Single Responsibility (단일책임) : 클래스는 최대한 한가지 일에만 집중한다. (골기퍼는 골 막는거만 생각한다) Type Safety (타입이 분명해야 할 때) : 개발타입 - 웹개발 클래스, 모바일 클래스 이런식으로 딱딱 타입이 있을 때 Shared Base Classes ..

Swift 2021. 1. 2. 17:54
Struct, Class 언제 무엇을 쓸까

- Struct를 사용하는 경우 1. 두 object를 "같다, 다르다"로 비교해야하는 경우 let point1 = Point(x: 3, y: 5) let point2 = Point(x: 3, y: 5) if point1 == porint2 { // x: 3, y: 5 이므로 같다 } 두 변수는 서로 다른 객체이지만, 서로 같은 데이터를 가지고 있다. 이때, 두 변수를 비교하는 상황이 오면 struct를 쓰는게 좋다. 2. copy된 각 객체들이 독립적인 상태를 가져야 하는 경우 var myMac = Mac(owner: "K") var yourMac = myMac yourMac.owner = "H" myMac.owner // "K" yourMac.owner // "H" 객체를 카피한 후에, 독립적으로 데..

Swift 2020. 12. 28. 14:20
이전 1 2 다음
이전 다음
250x250
TAG
  • xcode
  • function
  • Design Pattern
  • Playground
  • algorithm
  • tdd
  • 백준
  • 테스트주도개발
  • GIT
  • 1차원 배열
  • swift playground
  • CLASS
  • URLSession
  • protocol
  • while문
  • Method
  • 입출력과 사칙연산
  • IOS
  • 코딩배우기2
  • IF문
  • Swift
  • Network
  • for문
  • 미완성
  • 코딩배우기1
  • loop
  • basic
  • structure
  • flow control
  • closure
more
최근에 올라온 글
링크
  • Gmail
  • Instagram
  • Github
Total
Today
Yesterday

Blog is powered by Tistory / Designed by Tistory

티스토리툴바