메모리 참조 방식을 살피기 전에 ARC를 짚고 넘어가보려고 합니다. ARC ❓ 정의 ▾ 컴파일 시 코드를 분석해서 자동으로 retain, release 코드를 생성해주는 것 retain retain count(= reference count) 증가를 통해 현재 Scope에서 객체가 유지되는 것을 보장합니다. release retain count(= reference count) 감소시킵니다. retain 후에 필요 없을 때 release 합니다. 참조된 횟수를 추적해 더 이상 참조되지 않는 인스턴스를 메모리에서 해제해 주는 것 참조 카운트가 0이 되면 자동으로 메모리 해제된다고 보면 됩니다. 0이 될 때 deinit을 호출해서 메모리 해제를 시킵니다. 자동으로 RC를 관리해주기 때문에 메모리 해제에 대한..
첫 면접으로 포트폴리오 기준으로 준비를 했지만, 생각 정리가 안되서 만족스러운 대답을 못했던 것 같다 🥲 그래도 부족한 부분을 알 수 있던 좋은 계기라 생각하며, 나름 열심히 정리해보려고 합니다 😁 기술 면접 관련 질문들 📑 final 에 대하여 ▾ 사용의 의미 재정의 및 상속을 방지합니다. 코드의 런타임 성능이 향상됩니다. (= 런타임 오버 헤드가 제거되고 정적 디스패치가 구현됩니다 ) 코드의 런타임 성능이 향상된다 ❓ 런타임에 컴파일러 계산을 피하면 프로그램이 효율적이고 빨라집니다. 시스템 관점에서는 클래스 멤버가 참조 될 때마다 런타임에 다음 계산을 수행해야합니다. 클래스가 코드의 어느 곳에서나 상속되었는지 or 그 자체가 하위 클래스인지 확인합니다. 클래스 멤버가 재정의되었는지와 횟수를 확인합니다..