with키워드는 기존 객체를 복제하고 필요한 부분만 변경하여 원본을 그대로 유지하는 안전하고 깔끔한 코드 작성 방식입니다. 🔄- 이는 객체 생성 후 변경을 원치 않는 불변(immutable) 타입에 특히 유용하며, 의도치 않은 수정을 방지합니다. 🛡️
record타입에 주로 사용되었으며, C# 10부터는struct타입에서도 이 기능을 활용할 수 있습니다. 🧩- 내부적으로 C# 컴파일러는
record타입에 대해 객체 복제를 위한clone메서드를 자동으로 생성하여with키워드를 지원합니다. 🤖 - 클래스(참조 타입)를 복제할 경우 메모리 재할당이 발생하므로, 메모리 사용에 주의해야 합니다. ⚠️





