C# 강좌 : 제 34강 - 정적 생성자

C# Static Constructor

C# 강좌 : 제 34강 - 정적 생성자
[ C# ] - 윤대희

정적 생성자(Static Constructor)


정적 데이터를 초기화하거나 한 번만 수행해야 하는 특정 작업을 수행할 때 사용합니다.

정적 멤버가 참조되기 전에 자동으로 호출됩니다. 정적 생성자는 직접 호출할 수 없으며, 실행되는 시기를 조절할 수 없습니다.



using System;

class Date
{
    static readonly DateTime startTime;

    static Date()
    {
        startTime = DateTime.Now;
    }

    public string RunTime()
    {
        return $"{ DateTime.Now - startTime}";
    }
}

static readonly 형태의 startTime 필드를 생성하고 정적 생성자를 통하여 현재 시간으로 값을 초기화합니다.

RunTime 메소드를 생성하여 동일하게 현재 시간 - 현재 시간으로 수식을 구성합니다.



Date date = new Date();
System.Threading.Thread.Sleep(2000);
Console.WriteLine(date.RunTime());

쓰레드를 잠시 2 초간 Sleep시킬 경우, RunTime 메소드의 반환 값은 00:00:02.0028330 의 형태로 값이 출력됩니다.

현재 시간에서 현재 시간을 연산하는 수식이지만, 정적 생성자로 인하여 최초의 현재 시간이 자동할당 되어 startTime 필드에 저장됩니다.



Book Image

개정판이 출간됐습니다!

C#과 파이썬을 활용한 OpenCV 4 프로그래밍 (개정판)

컴퓨터 비전 기초 이론부터 머신러닝을 활용한 영상 처리 프로젝트까지

  • C#과 파이썬용 OpenCV의 데이터 형식과 행렬 및 배열 연산
  • 이미지/동영상/카메라를 활용한 입출력과 결과 저장
  • 전처리 과정과 정보를 탐색하기 위한 이미지 변형
  • 유의미한 정보를 검출하기 위한 이미지 변환
  • 이미지에서 정보를 검출 및 인식
  • 객체 검출을 포함한 모션 추적
  • K-means, KNN, SVM 등의 머신러닝 알고리즘 적용 방법
  • 카페(Caffe), 다크넷(Darknet), 텐서플로 모델을 활용한 딥러닝 모듈 적용 방법
  • Tesseract-OCR과 C# OpenCvSharp4를 활용한 프로젝트
  • 텐서플로와 Python OpenCV4를 활용한 프로젝트
  • 윤대희 저 | 위키북스

    [yes24 바로가기] [알라딘 바로가기] [교보문고 바로가기]

    후원하기


    ⤧  Previous post C# 강좌 : 제 33강 - 전용 생성자 ⤧  Next post C# 강좌 : 제 35강 - 중첩 생성자
    C# Category