본문 바로가기

IT/c#

[c#] 클래스 구조 초스피드로 익히기



// import 라고 표현 했었죠.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

//package 에 해당합니다.

//차이점은 as3 와 달리 namespace 의 구조와 실제 폴더 구조는 같지 않아도 됩니다.

namespace BlogReference.blog

{

 

    //부모 클래스는 extands 대신 ":" 연산자를 사용합니다. (이해를 돕기 위해 임의의 Sprite 클래스를 만들었습니다)

    public class ClassSample : Sprite

    {

        /// <summary>

        /// 생성자

        /// </summary>

        public ClassSample()

            :base() 

// super() 에 해당합니다. 안타깝게도 as3 에서는 부모의 슈퍼클래스를 생성자 말단에 기술 할 수 있었지만,

                  // c# 은 안됩니다. 무조건 이와 같은 식으로 사용 하여야 합니다.

                  // 키워드도 base 입니다.

        {

            Func1();

           

            string returnString = Hello("여러분");

 

            Args("안녕하세요", "c#", "배워", "봅시다");

        }

 

 

        /// <summary>

        /// 인수 , 반환값 없는 함수

        /// ! 어순 주의 : [접근제한자] [반환값] [메서드이름] ( [인수] )

        /// </summary>

        private void Func1()

        {

            Console.WriteLine("Call Empty Method");

        }

 

 

        /// <summary>

        /// 반환값 string , 인수 string

        /// </summary>

        private string Hello(string name)

        {

            return "hello " + name + "!";

        }

 

 

        /// <summary>

        /// params 키워드를 이용한 ...arg 표현

        /// </summary>

        private void Args(params string[] strs)

        {

          

            for(int i = 0 ; i < strs.Length ; ++i)

            {

                Console.WriteLine(i + "번째 파라메터는 [" + strs[i] + "]");

                //참고로 아래와 같은 방법으로도 출력이 가능합니다.

                //Console.WriteLine("{0}번째 파라메터는 [{1}]", i, strs[i]);

            }

            Console.WriteLine("총 파라메터 배열의 크기는 " + strs.Length + " 입니다.");

        }

    }

}



클래스 개념부터 팍팍 넣고 시작해보자잉