-
C# 프로그래밍의 기초: 생성자와 소멸자2024년 08월 24일
- 유니얼
-
작성자
-
2024.08.24.:47
728x90C# 프로그래밍에서 객체의 생명주기를 관리하는 데 중요한 역할을 하는 생성자와 소멸자는 객체가 생성되고 소멸될 때 필요한 작업을 자동으로 수행하는 특수한 메서드입니다. 이 블로그 글에서는 생성자와 소멸자의 역할, 기능, 그리고 구현 방법에 대해 자세히 알아보겠습니다.
생성자(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일 동안 최신 버전이
감지되어도 모달 창이 표시되지 않습니다.)