예제 #1
0
        // 얕은 복사 : 특정 객체에 대한 레퍼런스만 만들어서 값을 변경
        static void CopyRefClass(CC cc)
        {
            CC refCC = cc;

            refCC.a = 100;
            refCC.b = 10000;
        }
예제 #2
0
        /*
         *
         * this : 객체 자신을 참조하는 키워드
         * 사용처 : 함수의 파라미터 이름과 멤버 변수 이름이 동일, 클래스 내부에서 멤버변수를 접근
         *
         */
        static void Main(string[] args)
        {
            AA aa = new AA(10);

            aa.Print();

            // static 멤버들은 객체 생성없이 접근이 가능하다.
            BB.a = 10;
            BB.b = 100;
            BB.Print();


            CC cc = new CC();

            cc.Print();

            CopyRefClass(cc);
            cc.Print();

            CC tempCC = CopyDeepClass(cc);

            tempCC.Print();

            while (true)
            {
            }
        }
예제 #3
0
        // 깊은 복사 : 특정 객체와 같은 객체를 복사, 기존에 존재하던 객체에는 영향 X
        static CC CopyDeepClass(CC cc)
        {
            CC tempCC = new CC();

            tempCC.a = cc.a;
            tempCC.b = cc.b;

            return(tempCC);
        }