클래스가 참조타입으로 대입되는 데서 오는 혼동은 parameter에 새로운 클래스를 생성시켜서 대입 하는 것 보다 
internal class Program
{
    static void Main(string[] args)
    {
        MyClass instance = new MyClass { Id = 10 };
        Test(instance); 
        System.Console.WriteLine(instance.Id); // 출력 결과: 20 
    }
    static void Test(MyClass parameter)
    {
        parameter.Id = 20; // parameter 에 새로운 인스턴스 생성하지 않고 Id 값 변경
    }
}
위 처럼 parameter의 변수를 변경 하는 경우 인 듯 합니다. parameter에 새로운 인스턴스를 대입하지 않으면 
참조대입으로 parameter의 값을 변경 할 때 instance의 Id 값이 변경 되어버립니다. 
parameter에 새로운 인스턴스를 대입 했을 때에 비로소 영향을 미치지 못하는 것 같습니다.
(변수로 대입되는 parameter는 별칭의 개념으로 생각하는 것이 좋을 듯 합니다.)
원래글에는 댓글 저장이 안되서 질문 게시판에 남깁니다.
        
        
                    
                    
                    
                    
                    
    
                    
                    
                    
                    
                    
                
                    [최초 등록일: ]
                    [최종 수정일: 8/10/2023]