• 티스토리 홈
  • 프로필사진
    유니얼
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
유니얼
  • 프로필사진
    유니얼
    • 분류 전체보기 (295)
      • Unity (17)
        • 게임 개발 (5)
      • Unreal (24)
        • 게임 개발 (20)
      • DirectX (36)
      • 코딩테스트 (91)
        • 프로그래머스 (25)
        • 백준 (66)
      • Google Workspace (1)
      • Programing (102)
        • C# (68)
        • C++ (24)
        • JavaScript (10)
      • 게임 서버 프로그래밍 (17)
      • Web (6)
        • 슈퍼코딩 (6)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
    등록된 댓글이 없습니다.
  • 최근 공지
    등록된 공지가 없습니다.
# Home
# 공지사항
#
# 태그
# 검색결과
# 방명록
  • C# 프로그래밍의 기초: 생성자와 소멸자
    2024년 08월 24일
    • 유니얼
    • 작성자
    • 2024.08.24.:47
    728x90

    C# 프로그래밍에서 객체의 생명주기를 관리하는 데 중요한 역할을 하는 생성자와 소멸자는 객체가 생성되고 소멸될 때 필요한 작업을 자동으로 수행하는 특수한 메서드입니다. 이 블로그 글에서는 생성자와 소멸자의 역할, 기능, 그리고 구현 방법에 대해 자세히 알아보겠습니다.

    생성자(Constructor)

    기능과 목적:

    생성자는 클래스의 인스턴스가 생성될 때 자동으로 호출되는 메서드로, 주된 목적은 객체의 초기화입니다. 이는 객체의 필드를 초기 설정하거나, 필요한 시작 작업을 수행하는 데 사용됩니다.

     

    특징:

    • 생성자는 클래스 이름과 같은 이름을 가집니다.
    • 반환 타입을 지정하지 않으며, 이는 생성자가 값을 반환하지 않기 때문입니다.
    • 파라미터를 포함할 수 있어 객체 생성 시 초기 데이터를 전달할 수 있습니다.

    기본 생성자:

    • 파라미터가 없는 생성자를 기본 생성자라고 합니다.
    • 클래스에 명시적으로 어떠한 생성자도 정의하지 않은 경우, 컴파일러가 자동으로 기본 생성자를 제공합니다. 하지만 다른 생성자가 정의되어 있으면, 기본 생성자는 자동으로 생성되지 않습니다.

    파라미터가 있는 생성자:

    • 외부에서 데이터를 받아 객체의 상태를 초기화할 수 있습니다.

    소멸자(Destructor)

    기능과 목적:

    소멸자는 객체가 더 이상 필요 없어 메모리에서 해제될 때 자동으로 호출되는 메서드입니다. 주로 객체가 사용한 외부 리소스를 정리하는 데 사용됩니다.

     

    특징:

    • 클래스 이름 앞에 ~를 붙여 정의합니다 (예: ~Car()).
    • C#에서는 가비지 컬렉터가 대부분의 메모리 관리를 자동으로 처리하기 때문에, 소멸자를 사용할 필요가 적습니다.
    • 소멸자의 호출 시점은 가비지 컬렉터의 판단 하에 이루어지므로 예측이 어렵습니다.

    전체예제 코드

    using System;
    
    namespace CSharp_ProgramingStudy.Chapter5_OOP
    {
        class Car
        {
            public string color;  // Car 클래스의 속성
    
            // 파라미터가 있는 생성자
            public Car(string initialColor)
            {
                color = initialColor;  // 객체의 color 속성을 초기화
            }
    
            // 소멸자
            ~Car()
            {
                // 리소스 정리 로직
                Console.WriteLine("Cleaning up resources...");
            }
        }
    
        public class Class6
        {
            public void Run()
            {
                Car myCar = new Car("blue");
                Console.WriteLine(myCar.color);  // 출력: blue
            }
        }
    }
    

    결론

    C#의 생성자와 소멸자는 객체의 생명주기를 효과적으로 관리할 수 있게 해주는 중요한 요소입니다. 생성자는 객체가 생성될 때 초기화를 보장하며, 소멸자는 객체가 소멸될 때 필요한 정리 작업을 수행합니다.

     

    반응형
    다음글
    다음 글이 없습니다.
    이전글
    이전 글이 없습니다.
    댓글
조회된 결과가 없습니다.
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
목차
표시할 목차가 없습니다.
    • 안녕하세요
    • 감사해요
    • 잘있어요

    티스토리툴바