타입 프로퍼티 인스턴스가 아닌 타입 자체에 속하는 프로퍼티 -> 인스턴스를 생성하지 않고도 사용 인스턴스 생성 여부와 상관없이 값은 하나 저장 타입 프로퍼티 - 반드시 초깃값 설정, 지연연산됨 (lazy 표시는 안함), 한번만 초기화 타입 메서드 타입 자체에 호출이 가능한 메서드 static과 class 키워드로 사용 static - 상속 후 재정의 불가능 class - 상속 후 재정의 가능 인스턴스 메서드에서는 self가 인스턴스를 가리킴 타입 메서드는 self가 타입을 가리킴 static 변수는 data영역에 저장됨 사용할 때마다 인스턴스를 생성해서 사용하는 것이 아니라 data영역에 하나만 저장되기 때문에 성능상에 이점이 있다. 참고 www.yes24.com/Product/Goods/78907450..
힙에 저장되는 참조 타입은 메모리에서 해제되는지가 중요함 -> 이를 관리하는 ARC (클래스의 인스턴스에만 적용됨) 가비지컬렉션과의 차이 ARC는 컴파일 시 참조 카운팅함 장점 : 메모리 관리를 위한 시스템 자원을 추가할 필요가 없음 단점 : 규칙을 모르면 영원히 해제되지 않을 수 있음 강한 참조를 하면 참조 횟수(Reference Count)가 1 증가 nil을 할당하면 카운트가 1 감소 참조 횟수가 0이면 메모리에서 해제 강한 참조 순환(Strong Refence Cycle)문제 인스턴스끼리 서로 강한 참조할 때 참조 횟수가 0이 되지 않아 메모리에서 해제되지 않음 약한 참조 Weak Reference weak 키워드를 써주면 그 프로퍼티나 변수는 참조 횟수를 증가시키지 않음 약한 참조는 nil이 될..
프로세스 운영체제 입장에서 하나의 작업 단위 프로그램을 실행하면 그 프로그램은 -> 프로세스가 된다. (더 정확히는 메모리에 올라감+프로세스 제어 블록(PCB)이 동시에 생성) 프로그램 - 저장장치에 저장되어 있는 정적인 상태 프로세스 - 메모리에 올라온 동적인 상태 프로세스끼리는 약하게 연결되어 있음 스레드 프로세스의 코드에 정의된 절차에 따라 CPU에 작업 요청을 하는 실행 단위 스레드끼리는 강하게 연결되어 있음 스레드는 별도의 Stack을 가지고 있음 ( Code, Data, Heap은 공유) 멀티태스크 vs 멀티스레드 멀티태스크 - 워드프로세서와 프린터 스풀러의 관계, 출력이 필요할 때만 데이터 주고받음(IPC:Inter Process Communication) 멀티스레드 - "워드프로세서"의 프..
부모클래스(SuperClass)로부터 받은 메서드를 호출할 수 있고 프로퍼티에 접근할 수 있고 서브스크립트도 사용가능 자식클래스(SubClass)에서 부모클래스의 요소들을 재정의하는 것을 명확히 해야함 상속받은 프로퍼티의 값이 변경되었을 때 알려주는 프로퍼티 감시자 구현 가능 상속받지 않은 클래스 = 기반클래스(BaseClass) 상속 형태 class 클래스명: superclass { //프로퍼티와 메서드 } 똑같은 기능을 구현하기 위해 다시 작성할 필요가 없어 재사용하기 용이함 기능확장이 편리함 재정의 override 그대로 사용하지 않고 자식클래스에서 변경해서 사용 재정의 했는데 부모의 것을 그대로 사용하고 싶으면 앞에 super 키워드 super.someMethod(), super.somePrope..