[c#] 뮤터블과 이뮤터블 객체의 예시

뮤터블(mutab​le)과 이뮤터블(immutable)은 객체의 상태가 변경 가능한지 여부에 관한 용어입니다. 이에 대한 예시로, C#에서는 StringBuilder 클래스와 string 클래스가 대표적입니다.

뮤터블(Mutable) 객체

뮤터블 객체는 생성된 이후에 상태를 변경할 수 있습니다. 예를 들어, StringBuilder 클래스는 문자열을 동적으로 변경할 수 있습니다.

StringBuilder mutableStr = new StringBuilder("Hello");
mutableStr.Append(" World");
Console.WriteLine(mutableStr);  // 출력 결과: Hello World

이뮤터블(Immutable) 객체

이뮤터블 객체는 한 번 생성된 이후에 상태가 변경되지 않습니다. 예를 들어, string 클래스는 한 번 생성된 문자열은 수정할 수 없습니다.

string immutableStr = "Hello";
immutableStr = immutableStr + " World";
Console.WriteLine(immutableStr);  // 출력 결과: Hello World

위의 예시를 통해, 뮤터블과 이뮤터블 객체의 차이를 이해할 수 있습니다. 각각의 객체 유형은 고유한 사용 사례와 장단점을 가지고 있으므로, 상황에 맞게 적절히 활용해야 합니다.

이러한 객체 유형의 이해를 통해 개발자는 프로그램의 안정성과 성능을 향상시킬 수 있습니다.

참고 자료