/// <summary>
        /// 작성자 입장에서는
        /// Out 키워드는 함수 내에서 반드시 할당을 해야 컴파일 에러가 안뜸
        ///
        /// 사용자 입장에서는
        /// 이 함수를 호출하는 순간 무조건 할당이 보장되있음
        /// </summary>
        void 체력을얻고파_근데_클래스정의하기는_귀찮다(out string CharacterName, out int iHPCurrent)
        {
            HelathInfo pHP = 체력을얻고파();

            CharacterName = pHP.CharacterName;
            iHPCurrent    = pHP.iHPCurrent;
        }
        public void 튜플의_사용예시()
        {
            // 원하는 값을 리턴 얻으려면?



            // 1. Class를 정의해서 Class에 담아 원하는 값 얻기
            HelathInfo pHealth = 체력을얻고파();



            // 2. Out을 이용해서 원하는 값 얻기
            int    iHP;
            string strCharacterName;

            체력을얻고파_근데_클래스정의하기는_귀찮다(out strCharacterName, out iHP);

            Assert.AreEqual(pHealth.CharacterName, strCharacterName);
            Assert.AreEqual(pHealth.iHPCurrent, iHP);


            int iHP_Origin = iHP;

            체력을_변경해보자(ref iHP, 10);
            Assert.AreEqual(iHP, iHP_Origin + 10);



            // 암튼.. 잘안씀.. (유지보수 측면때문에)

            // 3-1. Tuple을 이용해서 원하는 값 얻기
            var pHealth_Tuple = 체력을얻고파_튜플버전();

            Assert.AreEqual(pHealth_Tuple.strCharacterName_Tuple, strCharacterName);
            Assert.AreEqual(pHealth_Tuple.iHPCurrent_Tuple, iHP_Origin);

            // 3-2. Tuple을 이용해서 원하는 값 얻기
            var pHealth_Tuple_UnFriendly = 체력을얻고파_튜플버전_불친절버전();

            Assert.AreEqual(pHealth_Tuple_UnFriendly.Item1, strCharacterName);
            Assert.AreEqual(pHealth_Tuple_UnFriendly.Item2, iHP_Origin);
        }