Unity3D/C#

싱글톤(Singletone) vs C#정적클래스(static class) 차이점

일등하이 2021. 3. 25. 10:58
반응형

싱글톤

싱글톤은 클래스를 확장하고 인터페이스를 구현할 수 있다.
느린 또는 비동기적으로 초기화 할 수 있어 초기화시점 조절 가능.
파생 된 유형을 반환 할 수 있는 기능(느린 로딩 및 인터페이스 구현의 조합)

정적클래스 
static 메소드를 가지는 클래스를 일컭는다.
더 나은 성능 - 정적 메서드는 컴파일 타임에 결함 된다.
실제로 표준 클래스가 아니다, 함수와 변수가 있는 네임스페이스다.
객체 지향 프로그래밍 원칙을 위반 하므로 지양하자.
스레드 관리 구현이 어렵다.

 

그외
싱글 톤은 느리게 또는 비동기 적으로 초기화 될 수 있지만 정적 클래스는 일반적으로 처음로드 될 때 초기화된다.
힙에 싱글 톤 객체 저장하지만 스택에 정적 객체 저장
싱글 톤의 또 다른 장점은 쉽게 직렬화 할 수 있다는 것. 이 직렬화는 디스크에 상태를 저장하거나 원격으로 보낼 필요가있을 때 필요할 수 있다.
정적 클래스는 정적 메서드 만있는 클래스이며, 더 좋은 단어는 “함수”이다. 정적 클래스에 구현 된 디자인 스타일은 순전히 절차 적이며, 반면에 글톤은 객체 지향 디자인과 관련된 패턴이다. 그것은 일생 동안 그 특별한 역할의 인스턴스가 오직 하나만 존재한다는 것을 보장하는 생성 프로 시저를 가진 다형성과 같은 모든 가능성을 가진) 객체의 인스턴스이다.

 

출처

postpiglet.netlify.app/posts/csharp-singletone-vs-staticclass/

반응형