C# 객체 생성 및 활용: 초기화부터 가비지 컬렉션까지

C# 객체 생성 및 활용: 초기화부터 가비지 컬렉션까지


이번 글에서는 C#에서 객체를 생성하고 활용하는 방법에 대해 알아보겠습니다. 객체는 클래스의 인스턴스로, 실제로 메모리에 할당되어 사용되는 것입니다. 객체의 생성 방법부터 그 객체를 어떻게 활용하는지에 대한 방법을 예제 코드와 함께 알아보겠습니다.

1. 객체 생성과 초기화 방법

객체 생성은 클래스의 인스턴스를 메모리에 할당하는 작업입니다. 이는 ‘new’ 키워드를 사용하여 이루어집니다. 객체가 생성되면 해당 클래스의 생성자가 호출되어 객체가 초기화됩니다.

public class Dog
{
    public string Name { get; set; }

    public Dog(string name)
    {
        this.Name = name; // 객체 초기화
    }
}

// 객체 생성
Dog myDog = new Dog("Buddy");

2. 객체의 메서드 호출하기

객체의 메서드는 해당 객체의 기능을 수행하는 데 사용됩니다. 객체를 통해 메서드를 호출하여 해당 기능을 실행할 수 있습니다.

public class Dog
{
    public string Name { get; set; }

    public void Bark()
    {
        Console.WriteLine($"{Name} is barking!"); // 메서드 내용
    }
}

Dog myDog = new Dog("Buddy");
myDog.Bark(); // 메서드 호출

3. 객체의 생명주기와 가비지 컬렉션

C#에서 객체의 생명주기는 객체가 메모리에 할당되어 사용되는 동안입니다. 사용되지 않는 객체는 가비지 컬렉션에 의해 메모리에서 자동으로 제거됩니다. C#의 가비지 컬렉션은 .NET 프레임워크의 중요한 특징 중 하나로, 대부분의 경우 개발자가 별도로 메모리 관리에 관여할 필요가 없어, 코드의 안정성과 효율성을 높여줍니다.

public class Dog
{
    ~Dog()
    {
        Console.WriteLine("Dog object is being collected."); // 소멸자 호출시 출력됨
    }
}

// 예제: 가비지 컬렉션의 작동을 확인
Dog myDog = new Dog();
myDog = null; // 참조를 제거
GC.Collect(); // 가비지 컬렉션 강제 호출, 실제 환경에서는 권장되지 않으며 자동으로 작동

GC.Collect() 메서드는 실제 환경에서 자주 호출되지 않도록 권장되므로, 해당 부분에 대한 주석을 추가하였습니다.


☞ 이번 글에서는 C#에서 객체를 생성하고 활용하는 기본적인 방법을 알아보았습니다. 객체는 프로그래밍의 중심적인 요소이므로 잘 이해하고 활용하는 것이 중요합니다.

참고자료

함께 보면 좋은 이전 게시글

위로 스크롤