출장으로 인해 블로그를 한참쉬었는데 다시 시작해봅니다 !! 

'Programming > C#' 카테고리의 다른 글

변수 : 데이터 보관  (0) 2018.08.25
프로그램 뜯어보기  (0) 2018.08.19
Hello World  (0) 2018.08.19
C# 시작합니다.  (0) 2018.08.18

빠르게 태그호이어 리뷰 후 책을 펼쳤습니다 



회사 프로젝트때문에 평일에는 C# 포스팅을 못했기 때문에



주말을 이용해 올려보려 해요



책의 구조상 첫단원은 컴퓨터의 구조 원리 역사를 다루는 내용이라 스킵하고



2단원 내용이었던 HelloWorld도 책 분량에 비하면 정말 간결히 끝내버렸어요 



날로 먹는거 같지만 벌써 3단원인데요 ㅎㅎㅎ 



3단원은 데이터 관리 및 보관법에 대해 알려주고 있어요 



프로그래밍에선 데이터가 아주 중요한 역할을 하거든요 



지금부터 알아보도록 해요 



일단 데이터란 정보를 가지고 있다는의미인데 종류가 다양합니다 



데이터 형식에는 기본 데이터 형식이 있고 



복합 데이터 형식이라는게 있습니다



복합데이터란 구조체나 클래스 배열 등이 포함되는데 여러 형태의 데이터들이 복합적으로 이루어져 있는 데이터를 말합니다



또한 값 형식과 참조 형식으로 나누어져있죠 



프로그래밍에선 데이터에 접근을 하려면 변수라는것을 알아야합니다



가장 흔히 쓰는 int i; 라고 선언을 해볼께요 



int는 데이터의 형식을 말하고 i 는 변수의 이름이 됩니다 



이렇게 선언을 해주면 i라는 녀석이 어느 메모리 공간에 자리를 차지하겠죠?



또한 변수에는 값을 넣을 수 있는데요 



아까 선언한 i에 100이라는 숫자를 주고 싶으면 



i = 100; 처럼 쓰시면 되요 



그럼 이 100이라는 값이 i가 차지하고 있는 메모리 공간에 기록이 될꺼에요 



아까 값형식과 참조형식이라 했는데 



이 두개로 나뉘는건 메모리 영역이 달라서입니다



하나는 스택 하나는 이라고 합니다 


  

    

1
2
3
4
5
{
    int a = 100;
    int b = 200;
    int c = 300;
}
cs

좌측 코드를 보면 순서대로 a에 100이 b에 200이 c에 300이 들어갈텐데요 



스택은 차례대로 100이 자리를 차지하고 그다음 메모리에 200 다음 메모리에 300이 들어갑니다 



빠져나갈때는 300 200 100 순서대로구요 



위의 방식이 값형식 즉 스택을 나타냅니다



힙이란 가비지컬렉터라는걸 포함하는데요 사용하지 않는 객체가 있다면 



쓰레기로 간주하여 지우는 역할을 합니다



1
2
3
4
{
    object a = 100;
    object b = 200;
}
cs



좌측 코드를 보면 object라는 변수를 선언했는데요



실제 값은 힙에 저장이됩니다 



a와 b의 값이 저장된 힙의 주소만 스택이 가지고 있죠 



C#에서 제공하는 기본데이터형식은 15가지인데 



문자열과 오브젝트 형식만 참조형식을 따르며 나머지는 값형식을 따릅니다 




마이크로소프트 .NET 참조




byte는 부호없는 정수 크기는 1바이트입니다 



여기서 1바이트는 8bit로 구성되어있으며 2^8개인 0~255까지의 256의 데이터를 담을 수 있습니다 



sbyte란 byte에서 signed 즉 부호화된 데이터를 말하는데요 



byte를 절반 쪼개어 -와 +가 나눠가지는겁니다 



-128~127까지 표현이 가능해요 



short는 말 그대로 숏트 짧다는 뜻인데요 



2byte를 가지며 -32,768 ~ 32,767까지 표현이 가능해요



ushort는 short를 비부호화 unsigned 한 데이터고 



0~65,535까지 표현합니다 



예로 사용했던 int 형은 4byte 



uint도 마찬가지 



long과 ulong은 8byte 



char는 2byte입니다 



급히 쓰다보니 가독성도 떨어지고 하는데 추후 표와 그림으로 읽기 쉽게 정리하도록 하겠습니다 









'Programming > C#' 카테고리의 다른 글

다시 시작합니다  (0) 2018.11.08
프로그램 뜯어보기  (0) 2018.08.19
Hello World  (0) 2018.08.19
C# 시작합니다.  (0) 2018.08.18

네 안녕하세요 



저번시간에 Hello World 출력을 해봤는데요 



이어서 프로그램 분석을 한 번 해볼께요 





먼저 제일 상단에 Program.cs라는게 보이는데 뒤에 보이는 cs는 csharp 확장자의 줄임말이에요 



.c 는 C .cpp는 C++ .cs 는 C# 



그 밑에는 using System; , using 블라블라가 있는데 



using이라는 것은 C#의 키워드 중 하나이고 키워드란, C# 언어 규격에 미리 정의되어 있는 특별한 단어에요 



의미는 사용하겠다는 뜻이고 글자가 진한 것은 현재 사용하고 있다는 뜻이에요 



왜냐면 System 네임스페이스 안의 클래스를 사용하겠다고 말하고 있는거거든요



아래 연한 것들은 지금 사용은 하고 있지 않지만 default로 생성하면 알아서 생기는 것들이고요



그리고 문장의 끝은 세미콜론;;;;;;;이 포함되어야 합니다



using이 끝나고 그 아래 namespace라는게 보이는데요 



아까 using.System에서 namespace 안에 클래스를 사용한다했었죠 



namespace란 성격이나 하는 일이 비슷한 클래스, 구조체, 인터페이스, 대리자, 열거 형식 등을 하나의 이름 아래 묶는 역할을 해요 



그 안에는 HelloWorld라고 지칭한 class가 포함되어 있네요 



클래스란 기타 형식, 메서드 밑 이벤트의 변수를 그룹화하여 자체 사용자 지정형식을 만들 수 있는 구문이에요



또한 프로그램을 구성하는 기본 단위로서 데이터와 데이터를 처리하는 기능을 갖고 있구요 



프로그램은 최소한 하나 이상의 클래스로 이루어져있으며 여러개의 클래스를 가질 수 있어요 



다음은 C에서 친근히 봤던 메인함수 



static void Main(string[] args)

{

Console.WriteLine("Hello World");

}



C#에서는 메소드라고 지칭을 많이 하는데요 



static이란 한정자 / void란 반환 형식 / Main은 메소드 이름 / (string[] args)는 매개 변수라고 부릅니다 



{

는 코드 블록이라고 하구요 



한정자란 수식어라고 보면 될 거 같아요 



종류에는 아래것들이 있구요 



참조 https://docs.microsoft.com/ko-kr/dotnet/csharp/language-reference/keywords/modifiers





반환 형식이란 내가 여기서 어떤 값을 반환 하겠다 안하겠다라고 생각하시면 되요



없으면 void (비어있는, 효력없는) / 있으면 int 



메소드 이름이란 제가 붙여주고 싶은 이름을 쓰면 되요 



매개변수란 파라미터라고도 하며 변수의 한 종류로서 함수(메소드) 등의 서브루틴의 입력으로 제공되는 



여러 데이터 중 하나를 기리키기 위해서 사용되요



그 안에 Console.WriteLine("Hello World");는 



저번에 설명을 했었지만 콘솔창에 쓰겠다 Hello World라는 문자열을 이라는 뜻입니다 



다음 부터는 소스가 길어지고 복잡해질테니 코드를 보기쉽게 넣도록 하겠습니다 ~ 




'Programming > C#' 카테고리의 다른 글

다시 시작합니다  (0) 2018.11.08
변수 : 데이터 보관  (0) 2018.08.25
Hello World  (0) 2018.08.19
C# 시작합니다.  (0) 2018.08.18

안녕하세요 ! 



소개드렸던 교재를 참고하여 프로그래밍을 시작해볼께요



프로그램이 없으신 분들은 http://www.visualstudio.com 에서 다운로드를 받을 수 있어요





Community 2017을 받아 주세요 





계속 진행을 누르시면 





개발환경을 .NET 데스크톱 개발로 선택하셔서 설치를 진행해주세요



저는 Enterprise가 설치되어있어서 2015로 진행을 할께요 






파일에 들어가셔서 프로젝트를 생성해볼께요 



프로젝트란 메모장같이 글자를 적을 수 있는 공간이에요 



여기서도 엑셀 워드와 같이 단축키를 기억해놓으면 편한데 Ctrl + Shift + N 이라고 누르면 단축키로 생성이 가능해요 





창 하나가 뜨면 좌측에서 Visual C#탭을 선택하고 콘솔 응용 프로그램으로 진행을 할께요 (여기서 콘솔이란 명령프롬포트(CMD)같은걸 말해요 )



이름은 Hello World라고 만들어주고 확인을 눌러볼께요 






가운데 있는 화면이 저희가 코딩할 공간이에요



static void Main(string[] args)

{

}


이 부분이 함수 C#에서는 매소드라고 칭하던데 자세한 설명은 다음에 다룰께요





그 안에다가 Console.WriteLine("Hello World"); 라고 적어봤어요 



Console이란 아까 말했듯이 명령프롬포트를 나타내고 WriteLine은 내가 글씨를 쓰겠다라는 뜻이에요 



( ) 괄호 안에는 내가 쓰고 싶은 내용이 들어가는거구요 



두 문자이상으로 이뤄진걸 문자열이라고 하는데 문자열을 쓸때는 "" 큰따옴표 안에다가 써주시면 되요 


 

이렇게 코드를 작성하고 Ctrl + F5를 누르시면 빌드가 되는데 



다음은 실행화면이에요






친근한 화면이 나오면서 첫 줄에 Hello World라고 출력이 되었네요 ㅎㅎㅎ 



C/C++를 접해보신분이라면 친근했을거고 모르시더라도 따라오는데는 큰 어려움이 없었을거라 생각됩니다 



C#을 다루지만 C를 기본으로 하기때문에 기본문법은 계속 다룰 예정이니 부담가지지 않으셔도 되요 



회사 프로젝트와 개인공부때문에 바쁘지만 꾸준히 포스팅 할 수 있도록 노력하겠습니다 ...



다음시간에 계속 찾아 올께요 ! 안녕 

 

'Programming > C#' 카테고리의 다른 글

다시 시작합니다  (0) 2018.11.08
변수 : 데이터 보관  (0) 2018.08.25
프로그램 뜯어보기  (0) 2018.08.19
C# 시작합니다.  (0) 2018.08.18

안녕하세요ㅎㅎ 오늘은 코딩 공부할 때 유용한 사이트 하나를 공유할려고 해요. 



많은 분들이 이미 알고 계시겠지만 바로 CODEUP이라는 사이트에요.







여기서 우선 가입을 하시구요 ~ 







문제 카테고리 가보면 







기본문제부터 난이도가 있는 문제까지 다양해요



그 중에 첫 번째 문제를 풀어볼께요 ㅎㅎㅎ 



프로그래밍 가장 처음 접하면 해보는 문자 출력하기 





지원하는 언어는 C / C++ / 파이썬 / JAVA가 있어요 ~ 



저는 기본 C로 해볼께요 




요로코롬 코딩을 해서 제출을 누르면 신기방기하게 제출한 문제가 틀린지 맞는지 알려준답니다 




올림피아드 문제, 대회 문제들도 수록되어있고 재밌는 문제들도 많으니 해보시면 좋을거같아요



다른 언어를 접해보기도 좋은거 같구요



물론 유저들이 올린 강의도 있어 다른사람들은 어떤식으로 코딩을 하는지도 배울 수 있고 좋은 사이트인거같아요 





이상으로 코딩배우기 좋은 사이트 소개를 마칩니다 ㅎㅎㅎ 



프로그래밍 잘 하는 그 날까지 모두들 파이팅입니다

안녕하세요 :)



앞으로 프로그래밍 관련 포스팅을 할 예정이에요.



개발환경부터 알려드릴께요.



OS는 Window10 pro에요.



밑에는 회사 개발용 노트북스펙이에요.








그리고 제일 중요한 개발프로그램은 Visual Studio Enterprise 2015를 사용하고 있습니다.






아직 개발자(?)라고 하기엔 부족함도 많고 모르는게 많아서 교재를 참고 할 계획이구요.



부디 한 권 모두 포스팅 할 때까지 포기 안하기를...



서점에 들러서 프로그래밍칸을 찾아봤건만 C#책이 생각보다 없었어요... 



그 중에 고른 책이랍니다. 절대 표지가 화려해서 산건 아니랍니다. 



https://cafe.naver.com/thisiscsharp 



작가님이 카페도 운영 중이시고 독자와 소통이 가능하기에 이 책을 정했어요 ㅎㅎㅎ 



아무튼 끝까지 포기하지 않도록 열심히 포스팅 해볼께요






'Programming > C#' 카테고리의 다른 글

다시 시작합니다  (0) 2018.11.08
변수 : 데이터 보관  (0) 2018.08.25
프로그램 뜯어보기  (0) 2018.08.19
Hello World  (0) 2018.08.19

+ Recent posts