개탕 IT FACTORY

C# 기초 공부(객체지향프로그래밍) 본문

프로그래밍/c# 프로그래밍

C# 기초 공부(객체지향프로그래밍)

rendar02 2018. 3. 12. 22:52
반응형

오늘은 C#에대해서 알아볼까합니다. 

C#에 대한 이미지 검색결과

C#은 사실 C++에서 ++ 더 더한 형태로 C++++ +가 다 합쳐져 #(샵)이 된겁니다.

C#은 자바를 염두해두고 만든 언어이기때문에 자바와 엄청난 유사성을 가집니다

(약...90%?) 자바를 배우면 c#을 쉽게 알수있고 c#을 배우면 자바를 쉽게 알수있죠

.NET framework 안에서 동작되기때문에 거의 윈도우 PC내에서만 동작합니다 

요즘은 xamarin으로 C#코드로 리눅스,IOS,안드로이드 앱을 개발가능하기에 

거의 멀티플렉스급의 언어라고 생각하시면됩니다.


C#을 구동할려면 당연히 개발자환경가 필요하겠죠?

visual STUDIO(비주얼 스튜디오)가 오늘의 주인공입니다

visual STUDIO에 대한 이미지 검색결과 

비주얼 스튜디는 통합개발환경(IDE)로써 C,C++,C#등 윈도우 조건에서 되는 프로그램뿐아니라 최근에는 리눅스기반의 앱이나 파이썬등도 가능하도록 되어 있습니다.


비주얼 스튜디오는 다른 개발환경 대비 엄청나게 친절함(?)을 가지고 있습니다 

특히나 개발환경에서는 없는 한글화가 잘되어있죠(응?...)

뭐... 개발자한테는 중요한사항은 아니죠 개발자는 영어와 친해져야하니 


아 그리고 C#의 중요한점은 바로 객체지향프로그램이다 

객체지향프로그래밍을 OOP라고하는데 Object-Oriented Programming의 줄임말이다. 아 정말 어렵다... 라고 느낄수 있는데 


객체는 쉽게말해 세상의 모든 것을 지칭하는 단어를 객체라고 생각하면쉽다 

사람,자동차,파일,모니터,상품, 연필 등 모두 객체이다


객체는 쉽게 2가지를 가지고 있습니다 바로 속성기능 

예를들어 사람에서 속성은 피부색, 키, 몸무게로 줄일수 있고 

기능은 걷기,뛰기,보기, 듣기 ,날기(응?) 등으로 입니다.


근데 프로그래밍에서 속성과 기능으로 분류할순 없겠죠 


그래서 속성은 데이터(=변수)기능은 메소드로 표현됩니다.


그럼 막 이제 궁금합니다... 도대체 데이터가 뭐고... 메소드가 먼데?..


일단.. 객체지향이라는것을 알려드리고 마지막에 설명해드리겠습니다 


객체지향에서 가장 중요한것은 클래스(Class)입니다 객체는 그저 클래스를 설명하기위한 발돋움일뿐 .... 


클래스를 쉽게 설명하자면 빵틀과 빵이라고 생각하시면 됩니다 


빵이 나오기위해선 빵틀에 반죽과 앙금을 넣고 구워야겠죠 

쉽게 클래스는 방틀이고 객체는 빵입니다


그래서 객체를 다른말로 인스턴스(instance)라고하는데 

클래스에서 생선된 실체라고 생각하시면됩니다 


자 이제 아까 말씀드렸다시피 아까 궁금하신 메소드와 데이터에 대해 설명해드리겠습니다 


자 여기서 데이터는 데이터를 담을수 있는 통이라고 생각하시면 됩니다 


잠시 C# 코딩을 해보면 


public string Name; ---> 데이터 


바로이게 데이터입니다 


그러면 메소드는 무엇이냐? 라고 알려드리면 

고양이에 비유하자면 바로 야옹과 같은 기능을 하는것이 메소드입니다 

public void Meow()

{

     Console.WriteLine("{0} : " 야옹",  Name);        -----> 이것이 메소드 

}


그럼 클래스를 크게 그리면 

class Cat   (클래스 이름이 Cat인 클래스)

{

         public string Name;    

(public은 공개범위-->상속을 배우면 나옴.... ,string은 문자열)

        public void Meow()   [void는 반환형식인데 반환 값이 없다 란뜻]

        {

             Console.WriteLine("{0} : " 야옹",  Name);        -----> 이것이 메소드 

            (Console은 C#에서 콘솔에 쓰는것 WriteLine은 줄바꿔서 콘솔창에 나옴)

        }

}


이렇게 됩니다 


쉽게 클래스안에 데이터와 메소드가 같이 들어있는형태로

클래스를 소환하면 아까 말씀드렸다시피 틀이 완성되었으므로 빵만 생성하면 되는것입니다. 


사실 위 코딩은 기초라 하기엔 아직인 코드지만.... 쉽게 설명하기위해 엄청 얘를 쓰면서 만들었으니 양해부탁드립니다 ㅠ ;;;


참고문헌 :뇌를자극하는C#5.0 프로그래밍

반응형

'프로그래밍 > c# 프로그래밍' 카테고리의 다른 글

C# 데이터형식과 타입(2)  (0) 2018.03.30
C#데이터형식과 타입 (1)  (0) 2018.03.16