clamp
Clamp
clamp
글쓰기 관리
전체 방문자
오늘
어제
  • 분류 전체보기 (509)
    • IOS (85)
    • SwiftUI+TCA+Combine (9)
    • RxSwift + MVVM (56)
    • Clean Architecture (12)
    • SWIFT (56)
    • iOS - TDD (2)
    • 디자인패턴 (4)
    • CS (56)
      • 알고리즘 (29)
      • 운영체제 (15)
      • 자료구조 (2)
      • 네트워킹 (4)
      • 기타 (6)
    • 회고 (0)
    • Firebase (18)
    • SwiftUI (10)
    • iOS - UIKit (11)
    • iOS - 오픈소스 (6)
    • 코딩테스트 (166)
      • 프로그래머스 (164)
    • 정보처리기사 (14)
    • GitHub (2)
글쓰기 / 관리자

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Q
  • uikit
  • ㅅ
  • Swift

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
clamp

Clamp

IOS

[iOS] Class의 성능을 향상시킬 수 있는 방법들

2023. 5. 9. 12:39
final, private키워드를 사용해 성능을 향상시킬 수 있다.

 

여러 방법이 있지만 메서드 디스패치(Method Dispatch)와 관련이 있다.

https://clamp-coding.tistory.com/364

 

[Swift]. Method Dispatch

Method Dispatch 실제로 Method는 CPU에대한 명령어이며, 실제론 코드 영역에만 존재한다. 그렇기 때문에 코드 영역에 있는 메서드를 실행시키려면 메서드 주소가 필요하다. 그런데 그 메서드 주소를

clamp-coding.tistory.com

 

final

final이 붙은 클래스는 상속이 불가하기 때문에  하위 클래스에서 이들을 오버라이딩 될 수 없게 되므로 자연스럽게 Static Dispatch로 동작하게 된다.

 

private(접근제어)

private으로 선언할 경우 참조 가능한 범위가 제한되며 이에 컴파일러는 해당 프로퍼티가 참조될 수 있는 구역 내에서 오버라이딩이 될지, 안될지 판단할 수 있게된다. 오버라이딩 되는 곳이 없다고 판단할 경우 컴파일러는 스스로 final로 추론해서 Static Dispatch로 동작시키게 된다.

저작자표시 비영리 동일조건 (새창열림)
    'IOS' 카테고리의 다른 글
    • [iOS] - 키체인(Key Chain)
    • [iOS] Static/Dynamic Library
    • [iOS] Boudns와 Frame
    • [iOS] UIResponder
    clamp
    clamp
    주니어 iOS개발자의 발악!!!!!!!

    티스토리툴바