[c#] 뮤터블과 이뮤터블 객체의 예시
뮤터블(mutable)과 이뮤터블(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
위의 예시를 통해, 뮤터블과 이뮤터블 객체의 차이를 이해할 수 있습니다. 각각의 객체 유형은 고유한 사용 사례와 장단점을 가지고 있으므로, 상황에 맞게 적절히 활용해야 합니다.
이러한 객체 유형의 이해를 통해 개발자는 프로그램의 안정성과 성능을 향상시킬 수 있습니다.
참고 자료
- Microsoft Docs: StringBuilder Class
- Microsoft Docs: String Class