Пример #1
0
        public static void Main(string[] args)
        {
            //클래스가 객체화된 친구는
            //레퍼런스 형이라고 하는 자료형이 되고
            //우리가 계속 바왔던
            //int bool 이런 친구는 값형이라고 함
            //값형과 레퍼런스형은 메모리의 위치와 사용법이 다르기 때문에
            //다르게 동작한다

            Monster NewMonster = new Monster();
            //몬스터만들고


            // HP 100 AT10
            Player NewPlayer = new Player();

            //플레이어 만들고


            //우리가 전강의에서 배웠던 대로라면
            //플레이어가 자신의 공격력으로
            //몬스터를 떄린거죠
            //하지만 적용될일없음
            //잘못 이해할수 있음
            NewMonster.ATT(NewPlayer);
            NewPlayer.ATT(NewMonster);

            //int Value = 100;

            //NewPlayer.TEST(Value);
        }
Пример #2
0
        static void Main(string[] args)
        {
            Monster NewMonster = new Monster(); //객체화가 된다//
            Player  NewPlayer  = new Player();  //자기가 만든 클ㄹ래스를 뉴 클래스명() 해서 만든것은 그 클래스명에 받으면 레퍼런스형

            NewMonster.ATT(NewPlayer);          //리퍼런스 값은 클래스의 위치는 가르켜서 그 값으 쓰는 것//
            NewPlayer.ATT(NewMonster);
        }
Пример #3
0
        // 클래스가 객체화된 것은 레퍼런스 형이라 하고
        // int bool 같은 것은 값형이라고 한다
        // 이 값형과 레퍼런스형은 메모리의 위치와 사용법이 다르기 때문에
        // 다르게 동작한다.
        static void Main(string[] args)
        {
            // Monster NewMonster는 스택에 생기고 new Monster(실제 만들어진 몬스터)는 힙에 생긴다
            // 이 레퍼런스는 힙에 생성된 어떠한 메모리의 위치를 가리키는 값이다
            Monster NewMonster = new Monster();
            Player  NewPlayer  = new Player();

            // .의 의미 : 가리키고 있는 위치의 ATT를 사용하겠다
            // NewMonster.ATT는 스택에 만들어지고 실제 만들어진 Player를 가리킨다
            // (Player NewPlayer가 실제 만들어진 Player를 가리키듯이)
            // 그러므로 실제 만들어진 Player의 값이 변할 수 있다(11강의 value와 다르게)
            NewMonster.ATT(NewPlayer);
            NewPlayer.ATT(NewMonster);
        }
Пример #4
0
        static void Main(string[] args)
        {
            // 클래스가 객체화된 녀석은
            // 레퍼런스 형이라는 자료형이 되고
            // 여태까지 봐왔던
            // Int, bool 이런 녀석들은 값형이라고 한다.

            // 이  값형과 레퍼런스형은 메모리의 위치와 사용법이 다르기 때문에
            // 다르게 동작한다.


            Monster NewMonster = new Monster();
            Player  NewPlayer  = new Player();

            // 레퍼런스 -> 생성하는 순간 힙에 들어감. 그보다 더 정확한 표현은↘
            // 레퍼런스 --> 힙에 생성된 어떤 메모리의 위치(레퍼런스)를 가르키는 값.
            // new를 한다는 게 힙 영역에 넣는다는 뜻


            //값형과 레퍼런스형을 구분할 줄 알아야 함.
            // 기본 자료형을 선언만 하면 그녀석들은 값형.
            // 자기가 만든 클래스를 new 클래스명();
            //해서 만든걸을 그 클래스명에 받으면 그건 레퍼런스형.



            NewMonster.ATT(NewPlayer);
            NewPlayer.ATT(NewMonster);

            Console.WriteLine(NewMonster.HP);
            Console.WriteLine(NewPlayer.HP);

            //스택 : 함수의 실행 메모리 영역(그 영역 안에 들어있는 지역변수 할당)
            //힙 : new 클래스명() 만들어진 클래스 객체들의 본체가 있는 영역



            Console.ReadKey();
        }