성장일기

05/29 스마트팩토리 교육- 종료자, 정적멤버, 인스턴스 멤버, 정적 생성자 본문

프로그래밍언어/C#

05/29 스마트팩토리 교육- 종료자, 정적멤버, 인스턴스 멤버, 정적 생성자

김몽몽 2020. 5. 29. 18:01

○종료자-디폴트 생성자에 ~(틸드) 붙임

CLR에서는 메모리 문제를 해결하기 위해 내부적으로 가비지 수집기(Garbage Collector:GC)를 도입

객체가 더는 사용되고 있지 않다면 데이터 해제

불확실한 시점에 메모리 정리

닷넷이 관리하지 않는 시스템자원을 얻은 경우에만 종료자를 정의해야함(성능 면에 부하)

메서드의 특별한유형

스택법칙이 적용된다-> iSpeed 100Km가 먼저 종료(먼저 온사람이 제일 나중에감)

○정적멤버,인스턴스멤버

static정적<->dynamic동적

new로 힙을 할당해줘야함
오류이유: 인스턴스(객체) 참조를 사용할 수 없다 - 스택에 인스턴스 참조변수 person을   쓸 수 없다는뜻

 

new는 런타임(실행되는 시점)에 생성,  컴파일타임(번역 시점)

객체는 런타임시점에 만들어짐->new를 통해 만들어진 객체는 메모리에만 존재=실행 됐을때만 존재

static을 쓰면 컴파일 시점에 만들어짐->파일 내에 존재= 항상 존재

 

static메소드 안에는 static만 쓸 수 있음

 

○정적생산자

정적 생성자는 클래스의 어떤 멤버든 최초로 접근하는 시점에 단 한 번만 실행된다(객체가 만들어지는 시점이 되면 어떤 코드보다 우선적으로 실행)

○네임스페이스

 

○접근 제한자(지정자)