일반적인 언어들의 메모리 관리 타입 3가지
1. C/C++
포인터 개념으로 모든 메모리 관리(할당 및 회수)를 직접 한다(코드레벨에서 관리 함수를 제공하여 그 권한과 책임을 개발자에게 줌).
장점: 세부적인 메모리 관리가 가능
단점: 잘 못하면 메모리 누수 등 문제 발생 함. 개발자 부담이 큼.
2. Java/C#
가비지 콜렉터 개념으로 별도의 메모리 관리 함수를 제공하는 것이 아니라 시스템 상에서 사용 안하는 메모리를 자동으로 제거해 주는 개념임. 개발자가 할일은 없음.
장점: 개발자가 메모리 관리에 신경 쓰지 않아도 됨.
단점: 모바일 환경에서는 성능상 좋을게 없음(느림).
3. Objective-C
Retain Count 개념으로 언어적으로 retain count를 관리하는 메서드를 제공하여 사용 안하는 메모리가 일종의 가비지 컬렉터에 의해 회수 되는 개념임.
장단점: 1번과 2번의 중간적인 개념이어서, 개발자의 부담은 1번 보다는 줄지만, 객체 사용 후 뒤처리를 해줘야 해서 2번 보다는 신경쓸 일은 있음. 2번 보다는 성능상 좋음.
'dngchn's [iOS]' 카테고리의 다른 글
[내가쓰는강좌 2] Objective-C 객체 생로병사의 비밀 (1) - 生과 死 (0) | 2014.11.11 |
---|