+ All Categories
Home > Software > [NEXT 프연 Week3] C# Data Type

[NEXT 프연 Week3] C# Data Type

Date post: 10-May-2015
Category:
Upload: youngho-cho
View: 642 times
Download: 4 times
Share this document with a friend
99
C# 자료형 Data Type 조영호 [email protected] Week #3 프로그래밍 연습
Transcript
Page 1: [NEXT 프연 Week3] C# Data Type

C#����������� ������������������  자료형Data����������� ������������������  Type����������� ������������������  

조영호����������� ������������������  [email protected]����������� ������������������  

Week����������� ������������������  #3����������� ������������������  

프로그래밍����������� ������������������  연습����������� ������������������  

Page 2: [NEXT 프연 Week3] C# Data Type

Hello,����������� ������������������  World!����������� ������������������  

Page 3: [NEXT 프연 Week3] C# Data Type

파일File  

using System;""namespace HelloWorld"{ "    class HelloWorld"    {"        public static void Main (string[] args) "        {"            Console.WriteLine ("Hello, World!");"            Console.WriteLine ("Hello, {0}", args [0]);"        }"    }"} "  

Hello,����������� ������������������  World!����������� ������������������  

예약어,����������� ������������������  키워드����������� ������������������  

문장의����������� ������������������  끝����������� ������������������  

C#의����������� ������������������  모든����������� ������������������  코드는����������� ������������������  ����������� ������������������  클래스����������� ������������������  안에����������� ������������������  위치����������� ������������������  

Main����������� ������������������  메소드에서����������� ������������������  시작해서����������� ������������������  Main에서����������� ������������������  끝남����������� ������������������  

명령행����������� ������������������  뒤에����������� ������������������  ����������� ������������������  입력하는����������� ������������������  인자����������� ������������������  

System����������� ������������������  네임스페이스에����������� ������������������  ����������� ������������������  속한����������� ������������������  Console����������� ������������������  클래스의����������� ������������������  ����������� ������������������  WriteLine()����������� ������������������  메소드����������� ������������������  사용����������� ������������������  

문자열����������� ������������������  뒤의����������� ������������������  첫번째����������� ������������������  값을����������� ������������������  ����������� ������������������  여기에����������� ������������������  출력����������� ������������������  

명령행����������� ������������������  ����������� ������������������  첫번째����������� ������������������  인자����������� ������������������  

HelloWorld.exe����������� ������������������  IU����������� ������������������  

여러����������� ������������������  클래스를����������� ������������������  하나의����������� ������������������  집합으로����������� ������������������  묶기����������� ������������������  위한����������� ������������������  네임스페이스����������� ������������������  

Page 4: [NEXT 프연 Week3] C# Data Type

변수Variable����������� ������������������  

Page 5: [NEXT 프연 Week3] C# Data Type

변수Variable����������� ������������������  

변수Variable����������� ������������������  

Page 6: [NEXT 프연 Week3] C# Data Type

변수����������� ������������������  선언����������� ������������������  

데이터타입����������� ������������������  변수명;����������� ������������������  

Page 7: [NEXT 프연 Week3] C# Data Type

데이터 형식   설명   크기(Byte)   담을 수 있는 값의 범위  

byte   부호 없는 정수   1(8bit)   0  ~  255  

sbyte   signed  byte  정수   1(8bit)   -­‐128  ~  127  

short   정수   2(16bit)   -­‐32,768  ~  32767  

ushort   unsigned  short  부호 없는 정수   2(16bit)   0  ~  65535  

int   정수   4(32bit)   -­‐2,147,483,648  ~  2,147,483,647  

uint   unsigned  int  부호 없는 정수   4(32bit)   0  ~  4294967295  

long   정수   8(64bit)   -­‐922337203685477508  ~  922337203685477507  

ulong   unsigned  long  부호 없는 정수   8(64bit)   0  ~  18446744073709551615  

char   유니코드 문자   2(16bit)  

float   단일 정밀도 부동 소수점 형식   4(32bit)   -­‐3.402823e38  ~  3.402823e38    

double   복수 정밀도 부동 소수점 형식   8(64bit)   -­‐1.79769313486232e308  ~  1.79769313486232e308    

decimal   29자리 데이터를 표현할 수 있는 소수 형식   16(128bit)   +-­‐1.0x10e-­‐28  ~  +-­‐7.9x10e28  

bool   논리형식   1(8bit)   true,  false  

C#����������� ������������������  기본����������� ������������������  데이터����������� ������������������  타입����������� ������������������  

Page 8: [NEXT 프연 Week3] C# Data Type

변수����������� ������������������  선언����������� ������������������  

int value;  ����������� ������������������  예약어,����������� ������������������  키워드����������� ������������������  바꿀����������� ������������������  수����������� ������������������  없어요!!!����������� ������������������  

식별자����������� ������������������  마음대로����������� ������������������  정할����������� ������������������  수����������� ������������������  있어요!!����������� ������������������  

Page 9: [NEXT 프연 Week3] C# Data Type

변수����������� ������������������  초기화����������� ������������������  

변수명����������� ������������������  =����������� ������������������  값;����������� ������������������  

Page 10: [NEXT 프연 Week3] C# Data Type

변수����������� ������������������  초기화����������� ������������������  

value = 200; "����������� ������������������  

Page 11: [NEXT 프연 Week3] C# Data Type

변수����������� ������������������  선언����������� ������������������  &����������� ������������������  초기화����������� ������������������  

데이터타입����������� ������������������  변수명����������� ������������������  =����������� ������������������  값;����������� ������������������  

Page 12: [NEXT 프연 Week3] C# Data Type

변수����������� ������������������  선언����������� ������������������  &����������� ������������������  초기화����������� ������������������  

int value = 200;  ����������� ������������������  

Page 13: [NEXT 프연 Week3] C# Data Type

변수����������� ������������������  선언과����������� ������������������  동시에����������� ������������������  초기화하는����������� ������������������  습관을����������� ������������������  들이세요!!

Page 14: [NEXT 프연 Week3] C# Data Type

����������� ������������������  [Lab����������� ������������������  #1]����������� ������������������  함께����������� ������������������  해봅시다~����������� ������������������  

두����������� ������������������  수����������� ������������������  100과����������� ������������������  200의����������� ������������������  합을����������� ������������������  구해서����������� ������������������  다음과����������� ������������������  같이����������� ������������������  결과를����������� ������������������  화면에����������� ������������������  출력하는����������� ������������������  프로그램을����������� ������������������  작성하세요����������� ������������������  

첫 번째 수: 100, 두번째 수: 200, 합: 300 "

Page 15: [NEXT 프연 Week3] C# Data Type

파일File  

Console.WriteLine ("Hello, World!");"Console.WriteLine ("Hello, {0}", ”IU”); "Console.WriteLine ("Hello, {0}{1}", ”I”, “U”); "Console.WriteLine ("Hello, {1}{0}", ”U”, “I”); !̀

Hello, IU !

Console.WriteLine()����������� ������������������  

활용해보세요����������� ������������������  

Page 16: [NEXT 프연 Week3] C# Data Type

[Lab����������� ������������������  #2]����������� ������������������  직접����������� ������������������  해보세요~����������� ������������������  

100,����������� ������������������  200,����������� ������������������  300,����������� ������������������  400의����������� ������������������  평균을����������� ������������������  구해서����������� ������������������  다음과����������� ������������������  같이����������� ������������������  출력하세요.����������� ������������������  

100, 200, 300, 400, 평균: 250 "

int average = (num1 + num2 + num3 + num4) / 4;   !힌트

����������� ������������������   숫자����������� ������������������  4개의����������� ������������������  평균����������� ������������������  구하기����������� ������������������  

Page 17: [NEXT 프연 Week3] C# Data Type

문자열string과����������� ������������������  ����������� ������������������  형변환Type����������� ������������������  Conversion����������� ������������������  

Page 18: [NEXT 프연 Week3] C# Data Type

변수����������� ������������������  선언����������� ������������������  &����������� ������������������  초기화����������� ������������������  

string����������� ������������������  

하나����������� ������������������  이상의����������� ������������������  문자들을����������� ������������������  담을����������� ������������������  수����������� ������������������  있는����������� ������������������  자료형����������� ������������������  

Page 19: [NEXT 프연 Week3] C# Data Type

����������� ������������������  [Lab����������� ������������������  #3]����������� ������������������  함께����������� ������������������  해봅시다~����������� ������������������  

자신의����������� ������������������  이름을����������� ������������������  이용해서����������� ������������������  다음과����������� ������������������  같이����������� ������������������  출력하는����������� ������������������  프로그램을����������� ������������������  작성하세요.����������� ������������������  ����������� ������������������  단,����������� ������������������  “Hello,����������� ������������������  “와����������� ������������������  “이름”을����������� ������������������  별도의����������� ������������������  문자열����������� ������������������  변수에����������� ������������������  담은����������� ������������������  후����������� ������������������  연결해서����������� ������������������  출력해����������� ������������������  보세요����������� ������������������  ����������� ������������������  

Hello, 조영호 – 문자수: 11 "

Page 20: [NEXT 프연 Week3] C# Data Type

파일File  

string name = "조영호”; !

string����������� ������������������  변수����������� ������������������  선언����������� ������������������  &����������� ������������������  초기화����������� ������������������  

string����������� ������������������  변수����������� ������������������  연결하기����������� ������������������  

string result = greeting + name;!

result.Length   !

string의����������� ������������������  길이����������� ������������������  구하기����������� ������������������  

활용해보세요����������� ������������������  

문자열����������� ������������������  리터럴����������� ������������������  

Page 21: [NEXT 프연 Week3] C# Data Type

직접����������� ������������������  해보세요~����������� ������������������  

using System; namespace TypeConversion { class MainClass { public static void Main (string[] args) { byte byteNum   = 100;            // 1바이트 short shortNum = 100;            // 2바이트 int intNum     = 100;            // 4바이트 long longNum   = 100;            // 8바이트 shortNum = byteNum; intNum   = shortNum; longNum  = intNum; byteNum = shortNum; shortNum = intNum; intNum = longNum; } } } !

변수에����������� ������������������  담을����������� ������������������  수����������� ������������������  있는����������� ������������������  데이터의����������� ������������������  크기����������� ������������������  

작은����������� ������������������  크기의����������� ������������������  데이터를����������� ������������������  더����������� ������������������  큰����������� ������������������  크기의����������� ������������������  데이터����������� ������������������  타입에����������� ������������������  넣을����������� ������������������  수는����������� ������������������  있지만����������� ������������������  

더����������� ������������������  큰����������� ������������������  크기의����������� ������������������  데이터����������� ������������������  타입을����������� ������������������  더����������� ������������������  작은����������� ������������������  크기의����������� ������������������  데이터����������� ������������������  타입에����������� ������������������  넣을����������� ������������������  수����������� ������������������  없어요����������� ������������������  

주의!����������� ������������������  이����������� ������������������  코드에는����������� ������������������  에러가����������� ������������������  있어요!!!����������� ������������������  

Page 22: [NEXT 프연 Week3] C# Data Type

직접����������� ������������������  해보세요~����������� ������������������  

using System; namespace TypeConversion { class MainClass { public static void Main (string[] args) { byte byteNum   = 100;            // 1바이트 short shortNum = 100;            // 2바이트 int intNum     = 100;            // 4바이트 long longNum   = 100;            // 8바이트 shortNum = byteNum; intNum   = shortNum; longNum  = intNum; byteNum = (byte)shortNum; shortNum = (short)intNum; intNum = (int)longNum; } } } !

명시적으로����������� ������������������  변환할����������� ������������������  타입을����������� ������������������  ����������� ������������������  지정해����������� ������������������  줘야����������� ������������������  합니다����������� ������������������  

Page 23: [NEXT 프연 Week3] C# Data Type

직접����������� ������������������  해보세요~����������� ������������������  

using System;""namespace TypeConversion"{ "  class MainClass"  {"    public static void Main (string[] args) "    {"      int intNum     = 100;            "      string stringNum = "100"; ""      intNum = stringNum; "      stringNum = intNum; "    }"  }"}   !

주의!����������� ������������������  이����������� ������������������  코드에는����������� ������������������  에러가����������� ������������������  있어요!!!����������� ������������������  

Page 24: [NEXT 프연 Week3] C# Data Type

직접����������� ������������������  해보세요~����������� ������������������  

using System;""namespace TypeConversion"{ "  class MainClass"  {"   public static void Main (string[] args) "    {"      int intNum     = 100;            "      string stringNum = "100"; ""      intNum = int.Parse(stringNum);"      stringNum = intNum.ToString();"    }"  }"} !

일단����������� ������������������  이런����������� ������������������  방식으로����������� ������������������  해야����������� ������������������  변환이����������� ������������������  가능하다는����������� ������������������  정도만����������� ������������������  기억하고����������� ������������������  넘어가세요����������� ������������������  

Page 25: [NEXT 프연 Week3] C# Data Type

두����������� ������������������  정수를����������� ������������������  키보드로����������� ������������������  입력����������� ������������������  받아����������� ������������������  더한����������� ������������������  후����������� ������������������  다음과����������� ������������������  같이����������� ������������������  결과를����������� ������������������  화면에����������� ������������������  출력하는����������� ������������������  프로그램을����������� ������������������  작성하세요����������� ������������������  

첫 번째 수: 100, 두번째 수: 200, 합: 300 "

[Lab����������� ������������������  #4]����������� ������������������  직접����������� ������������������  해보세요~����������� ������������������  

Page 26: [NEXT 프연 Week3] C# Data Type

파일File  

string value = Console.ReadLine ();!

활용해보세요����������� ������������������  

Console.ReadLine()����������� ������������������  키보드를����������� ������������������  이용해����������� ������������������  입력����������� ������������������  받기����������� ������������������  

컴퓨터는����������� ������������������  키보드를����������� ������������������  통해����������� ������������������  입력����������� ������������������  받은����������� ������������������  값을����������� ������������������  무조건����������� ������������������  문자열로����������� ������������������  생각����������� ������������������  

입력����������� ������������������  받은����������� ������������������  두����������� ������������������  정수의����������� ������������������  합을����������� ������������������  구하려면?����������� ������������������  

Page 27: [NEXT 프연 Week3] C# Data Type

나����������� ������������������  만의����������� ������������������  자료형Data����������� ������������������  Type����������� ������������������  

만들기����������� ������������������  

자구알����������� ������������������  진도����������� ������������������  맞추기����������� ������������������  용����������� ������������������  

Page 28: [NEXT 프연 Week3] C# Data Type

클래스를����������� ������������������  만드는����������� ������������������  ����������� ������������������  문법만����������� ������������������  

아주����������� ������������������  간단하게����������� ������������������  훑고����������� ������������������  넘어갈께요����������� ������������������  

����������� ������������������  왜(Why)에����������� ������������������  관해서는����������� ������������������  ����������� ������������������  

다른����������� ������������������  시간에����������� ������������������  자세히����������� ������������������  살펴����������� ������������������  볼께요~����������� ������������������  

Page 29: [NEXT 프연 Week3] C# Data Type

자세히����������� ������������������  보세요~����������� ������������������  

using System;""namespace TypeConversion"{ "  class MainClass"  {"   public static void Main (string[] args) "    {"      int intNum     = 100;            "      string stringNum = "100"; ""      intNum = int.Parse(stringNum);"      stringNum = intNum.ToString();"    }"  }"} !

정수����������� ������������������  값을����������� ������������������  문자열로����������� ������������������  변환합니다����������� ������������������  

Page 30: [NEXT 프연 Week3] C# Data Type

stringNum = intNum.ToString();  

int intNum = 100;  

스스로를����������� ������������������  문자열로����������� ������������������  변환����������� ������������������  

100이라는����������� ������������������  값을����������� ������������������  가진����������� ������������������  실제����������� ������������������  정수����������� ������������������  

변수가����������� ������������������  스스로에����������� ������������������  대해����������� ������������������  작업을����������� ������������������  합니다����������� ������������������  

정수형����������� ������������������  데이터����������� ������������������  타입����������� ������������������  

Page 31: [NEXT 프연 Week3] C# Data Type

stringNum = intNum.ToString();  

int intNum = 100;  

메소드Method����������� ������������������  

객체Object����������� ������������������  또는����������� ������������������  

int의����������� ������������������  인스턴스instance����������� ������������������  

객체지향����������� ������������������  프로그래밍의����������� ������������������  관점에서����������� ������������������  

클래스Class����������� ������������������  

Page 32: [NEXT 프연 Week3] C# Data Type

객체지향����������� ������������������  프로그래밍����������� ������������������  

클래스����������� ������������������  =����������� ������������������  데이터����������� ������������������  +����������� ������������������  메소드����������� ������������������  

객체=����������� ������������������  클래스의����������� ������������������  인스턴스����������� ������������������  

class Cat "{ " public string Name;"  public string Color;""  public void Meow()"  {"     Console.WriteLine("{0} : 야옹", Name);"  }"}   !

Cat kitty = new Cat(); "

메소드Method����������� ������������������  

필드Field����������� ������������������  

new����������� ������������������  클래스명()����������� ������������������  

Page 33: [NEXT 프연 Week3] C# Data Type

메소드����������� ������������������  살펴보기����������� ������������������  

public void Meow ()"{ "  Console.WriteLine("{0} : 야옹", Name);"} !

반환����������� ������������������  타입����������� ������������������  없음����������� ������������������   메소드����������� ������������������  이름����������� ������������������  

인자����������� ������������������  없음����������� ������������������  

public int Add (int num1, int num2)"{ "  return num1 + num2; "} !

반환����������� ������������������  타입����������� ������������������  int����������� ������������������  2����������� ������������������  개의����������� ������������������  인자����������� ������������������  ����������� ������������������  

int sum = Add(10, 20); "

string value = Console.ReadLine ();!

값����������� ������������������  반환����������� ������������������  

Page 34: [NEXT 프연 Week3] C# Data Type

인스턴스����������� ������������������  생성����������� ������������������  ­–����������� ������������������  선언����������� ������������������  후����������� ������������������  초기화����������� ������������������  

Cat kitty = new Cat(); "kitty.Name = “키티”; "Kitty.Color = “하얀색”; ""Kitty.Meow(); "

class Cat "{ " public string Name;"  public string Color;""  public void Meow()"  {"     Console.WriteLine("{0} : 야옹", Name);"  }"}   !

����������� ������������������  객체.필드����������� ������������������  

����������� ������������������  객체.메소드����������� ������������������  

int intNum; "int intNum = 100;  

Page 35: [NEXT 프연 Week3] C# Data Type

인스턴스����������� ������������������  생성����������� ������������������  ­–����������� ������������������  선언����������� ������������������  &����������� ������������������  초기화����������� ������������������  

Cat kitty = new Cat(“키티”, “하얀색”); "Kitty.Meow(); "

class Cat "{ " public string Name;"  public string Color;"" public Cat(string _Name, string _Color) " { " Name = _Name; " Color = _Color;" } "" public void Meow()"  {"     Console.WriteLine("{0} : 야옹", Name);"  }"}   !

int intNum = 100;  

생성자Constructor����������� ������������������  

반환값이����������� ������������������  없고����������� ������������������  ����������� ������������������  이름이����������� ������������������  클래스명과����������� ������������������  동일한����������� ������������������  메소드����������� ������������������  

Page 36: [NEXT 프연 Week3] C# Data Type

국어����������� ������������������  10점,����������� ������������������  영어����������� ������������������  20점,����������� ������������������  수학����������� ������������������  30점,����������� ������������������  과학����������� ������������������  40점인����������� ������������������  조영호����������� ������������������  학생의����������� ������������������  성적����������� ������������������  평균을����������� ������������������  구하세요.����������� ������������������  

[Lab����������� ������������������  #5]����������� ������������������  함께����������� ������������������  해봅시다~����������� ������������������  

hDps://github.com/snatcher93/Student.git  

Page 37: [NEXT 프연 Week3] C# Data Type

자료형Data����������� ������������������  Type����������� ������������������  

Page 38: [NEXT 프연 Week3] C# Data Type

변수를����������� ������������������  이해하기����������� ������������������  위한����������� ������������������  ����������� ������������������  핵심����������� ������������������  개념����������� ������������������  두����������� ������������������  가지!!����������� ������������������  

����������� ������������������  

자료형Data����������� ������������������  Type����������� ������������������  

메모리Memory����������� ������������������  

Page 39: [NEXT 프연 Week3] C# Data Type

해리포터에����������� ������������������  관해����������� ������������������  알고����������� ������������������  싶어요!����������� ������������������  

Page 40: [NEXT 프연 Week3] C# Data Type

자료Data����������� ������������������  

Page 41: [NEXT 프연 Week3] C# Data Type

다양한����������� ������������������  ����������� ������������������  유형Type의����������� ������������������  ����������� ������������������  자료Data들����������� ������������������  

Page 42: [NEXT 프연 Week3] C# Data Type

파일File  

자료Data의����������� ������������������  종류Type에����������� ������������������  따라����������� ������������������  어떤����������� ������������������  차이점이����������� ������������������  있을까요?����������� ������������������  ����������� ������������������  ����������� ������������������  

Page 43: [NEXT 프연 Week3] C# Data Type

파일File  

자료Data의����������� ������������������  유형Type에����������� ������������������  따라����������� ������������������  ����������� ������������������  담고����������� ������������������  있는����������� ������������������  정보의����������� ������������������  종류가����������� ������������������  달라요����������� ������������������  

글����������� ������������������  동영상����������� ������������������  

게임����������� ������������������  컨텐츠����������� ������������������  ����������� ������������������  

Page 44: [NEXT 프연 Week3] C# Data Type

파일File  

자료Data의����������� ������������������  유형Type에����������� ������������������  따라����������� ������������������  ����������� ������������������  담을����������� ������������������  수����������� ������������������  있는����������� ������������������  정보의����������� ������������������  양이����������� ������������������  달라져요����������� ������������������  

몇����������� ������������������  페이지?����������� ������������������  몇����������� ������������������  시간?����������� ������������������  몇����������� ������������������  GB?����������� ������������������  

Page 45: [NEXT 프연 Week3] C# Data Type

파일File  

자료Data의����������� ������������������  유형Type에����������� ������������������  따라����������� ������������������  ����������� ������������������  사용����������� ������������������  방법이����������� ������������������  달라져요����������� ������������������  

읽기����������� ������������������   보기����������� ������������������  플레이하기����������� ������������������  

Page 46: [NEXT 프연 Week3] C# Data Type

파일File  

자료Data의����������� ������������������  유형Type에����������� ������������������  ����������� ������������������  따라����������� ������������������  달라요����������� ������������������  ����������� ������������������  

정보의����������� ������������������  종류����������� ������������������  

정보의����������� ������������������  양����������� ������������������  

할����������� ������������������  수����������� ������������������  있는����������� ������������������  행동����������� ������������������  

Page 47: [NEXT 프연 Week3] C# Data Type

자료Data를����������� ������������������  컴퓨터����������� ������������������  안으로  

Page 48: [NEXT 프연 Week3] C# Data Type

데이터를����������� ������������������  사용하려면����������� ������������������  컴퓨터의����������� ������������������  ����������� ������������������  ����������� ������������������  ����������� ������������������  ����������� ������������������  ����������� ������������������  ����������� ������������������  ����������� ������������������  ����������� ������������������  ����������� ������������������  ����������� ������������������  라는����������� ������������������  곳에����������� ������������������  넣어둬야����������� ������������������  해요

“메모리”  

Page 49: [NEXT 프연 Week3] C# Data Type

지금부터는����������� ������������������  어려워요!!����������� ������������������  

����������� ������������������  정확하게����������� ������������������  ����������� ������������������  

이해가����������� ������������������  안되더라도����������� ������������������  ����������� ������������������  데이터����������� ������������������  타입과����������� ������������������  ����������� ������������������  

메모리����������� ������������������  사이의����������� ������������������  관계에����������� ������������������  초점을����������� ������������������  맞춰서����������� ������������������  ����������� ������������������  들어보세요����������� ������������������  

Page 50: [NEXT 프연 Week3] C# Data Type

메모리Memory����������� ������������������  

Page 51: [NEXT 프연 Week3] C# Data Type
Page 52: [NEXT 프연 Week3] C# Data Type

BIT  

1  0  

Page 53: [NEXT 프연 Week3] C# Data Type

1����������� ������������������  BYTE����������� ������������������  =����������� ������������������  8����������� ������������������  BITS  

1  0  0   0   0   0  0  0  

Page 54: [NEXT 프연 Week3] C# Data Type

8bit����������� ������������������  

1byte����������� ������������������  

0 1 2 3 4 5

6 7 8 9 10 11

12 13 14 15 16 17

18 19 20 21 22 23

24 25 26 27 28 29

30 31 32 33 34 35

36 37 38 39 40 41

42 43 44 45 46 47

주소Address����������� ������������������  

메모리Memory����������� ������������������  

Page 55: [NEXT 프연 Week3] C# Data Type

12 13 14 15 16 17

0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 0   0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 1   0 0 0 0 0 0 0 0   0 0 0 0 0 0 0 0  

메모리����������� ������������������  조각����������� ������������������  

0����������� ������������������   1����������� ������������������  

65����������� ������������������   65����������� ������������������  

Page 56: [NEXT 프연 Week3] C# Data Type

12 13 14 15 16 17

0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 0   0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 1   0 0 0 0 0 0 0 0   0 0 0 0 0 0 0 0  

메모리����������� ������������������  조각����������� ������������������  

65����������� ������������������  

321����������� ������������������  

Page 57: [NEXT 프연 Week3] C# Data Type

12 13 14 15 16 17

0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 0   0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 1   0 0 0 0 0 0 0 0   0 0 0 0 0 0 0 0  

메모리����������� ������������������  조각����������� ������������������  

4260161����������� ������������������  

Page 58: [NEXT 프연 Week3] C# Data Type

몇����������� ������������������  바이트를����������� ������������������  읽느냐에����������� ������������������  따라����������� ������������������  ����������� ������������������  결과가����������� ������������������  달라져요����������� ������������������  

0과����������� ������������������  65����������� ������������������  ?����������� ������������������  

321����������� ������������������  ?����������� ������������������  ����������� ������������������  

00000000  00100010  

Page 59: [NEXT 프연 Week3] C# Data Type

12 13 14 15 16 17

0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 0   0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 1   0 0 0 0 0 0 0 0   0 0 0 0 0 0 0 0  

65����������� ������������������  

메모리����������� ������������������  조각����������� ������������������  

‘A’����������� ������������������  

321����������� ������������������  

‘Ł’����������� ������������������  

Page 60: [NEXT 프연 Week3] C# Data Type

어떻게����������� ������������������  해석하느냐에����������� ������������������  따라����������� ������������������  표현����������� ������������������  방식이����������� ������������������  달라져요����������� ������������������  

65?����������� ������������������  

A?����������� ������������������  ����������� ������������������  

00000000  00100010  

Page 61: [NEXT 프연 Week3] C# Data Type

12 13 14 15 16 17

0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 0   0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 1   0 0 0 0 0 0 0 0   0 0 0 0 0 0 0 0  

65����������� ������������������   321����������� ������������������  

메모리����������� ������������������  조각����������� ������������������  

+����������� ������������������  

Page 62: [NEXT 프연 Week3] C# Data Type

12 13 14 15 16 17

0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 0   0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 1   0 0 0 0 0 0 0 0   0 0 0 0 0 0 0 0  

‘A’����������� ������������������   Ł����������� ������������������  

메모리����������� ������������������  조각����������� ������������������  

+����������� ������������������  

Page 63: [NEXT 프연 Week3] C# Data Type

데이터를����������� ������������������  어떻게����������� ������������������  해석하느냐에����������� ������������������  따라����������� ������������������  수행할����������� ������������������  수����������� ������������������  있는����������� ������������������  작업이����������� ������������������  달라져요����������� ������������������  

+����������� ������������������  ?����������� ������������������  

00000000  00100010  

Page 64: [NEXT 프연 Week3] C# Data Type

12 13 14 15 16 17

0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 0   0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 1   0 0 0 0 0 0 0 0   0 0 0 0 0 0 0 0  

이����������� ������������������  메모리����������� ������������������  조각에����������� ������������������  저장된����������� ������������������  값은����������� ������������������  무엇일까요?����������� ������������������  ����������� ������������������  ����������� ������������������  저장된����������� ������������������  값을����������� ������������������  이용해����������� ������������������  +를����������� ������������������  할����������� ������������������  수����������� ������������������  있을까요?����������� ������������������  

쉽게����������� ������������������  알����������� ������������������  수����������� ������������������  있나요?����������� ������������������  

Page 65: [NEXT 프연 Week3] C# Data Type

메모리����������� ������������������  안의����������� ������������������  데이터를����������� ������������������  사용하기����������� ������������������  위해����������� ������������������  

몇����������� ������������������  바이트����������� ������������������  크기?����������� ������������������  ����������� ������������������  

해석����������� ������������������  방법?����������� ������������������  

가능한����������� ������������������  작업의����������� ������������������  종류?����������� ������������������  

Page 66: [NEXT 프연 Week3] C# Data Type

실수하기는����������� ������������������  쉽고;;����������� ������������������  ����������� ������������������  기억하기는����������� ������������������  어렵고;;����������� ������������������  

Page 67: [NEXT 프연 Week3] C# Data Type

자료형����������� ������������������  (Data����������� ������������������  Type)����������� ������������������  

Page 68: [NEXT 프연 Week3] C# Data Type

자료형Data����������� ������������������  Type은����������� ������������������  ����������� ������������������  읽어야할����������� ������������������  ����������� ������������������  메모리����������� ������������������  크기를����������� ������������������  ����������� ������������������  결정해요����������� ������������������  

����������� ������������������  

Page 69: [NEXT 프연 Week3] C# Data Type

12 13 14 15 16 17

0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 0   0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 1   0 0 0 0 0 0 0 0   0 0 0 0 0 0 0 0  

데이터����������� ������������������  타입과����������� ������������������  메모리����������� ������������������  크기����������� ������������������  

byte����������� ������������������  

0����������� ������������������  

Page 70: [NEXT 프연 Week3] C# Data Type

12 13 14 15 16 17

0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 0   0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 1   0 0 0 0 0 0 0 0   0 0 0 0 0 0 0 0  

short����������� ������������������  

65����������� ������������������  

데이터����������� ������������������  타입과����������� ������������������  메모리����������� ������������������  크기����������� ������������������  

Page 71: [NEXT 프연 Week3] C# Data Type

12 13 14 15 16 17

0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 0   0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 1   0 0 0 0 0 0 0 0   0 0 0 0 0 0 0 0  

int����������� ������������������  

4260161����������� ������������������  

데이터����������� ������������������  타입과����������� ������������������  메모리����������� ������������������  크기����������� ������������������  

Page 72: [NEXT 프연 Week3] C# Data Type

데이터����������� ������������������  타입은����������� ������������������  ����������� ������������������  ����������� ������������������  메모리����������� ������������������  값의����������� ������������������  표현����������� ������������������  방식을����������� ������������������  ����������� ������������������  결정해요����������� ������������������  

Page 73: [NEXT 프연 Week3] C# Data Type

12 13 14 15 16 17

0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 0   0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 1   0 0 0 0 0 0 0 0   0 0 0 0 0 0 0 0  

short����������� ������������������  

65����������� ������������������  

데이터����������� ������������������  타입과����������� ������������������  표현����������� ������������������  

Page 74: [NEXT 프연 Week3] C# Data Type

12 13 14 15 16 17

0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 0   0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 1   0 0 0 0 0 0 0 0   0 0 0 0 0 0 0 0  

char����������� ������������������  

‘A’����������� ������������������  

데이터����������� ������������������  타입과����������� ������������������  표현����������� ������������������  

Page 75: [NEXT 프연 Week3] C# Data Type

데이터����������� ������������������  타입은����������� ������������������  ����������� ������������������  ����������� ������������������  메모리����������� ������������������  값에����������� ������������������  수행할����������� ������������������  수����������� ������������������  있는����������� ������������������  ����������� ������������������  

작업을����������� ������������������  ����������� ������������������  제한해요����������� ������������������  

Page 76: [NEXT 프연 Week3] C# Data Type

12 13 14 15 16 17

0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 0   0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 1   0 0 0 0 0 0 0 0   0 0 0 0 0 0 0 0  

short����������� ������������������  

65����������� ������������������  

데이터����������� ������������������  타입과����������� ������������������  작업����������� ������������������  

+����������� ������������������  

Page 77: [NEXT 프연 Week3] C# Data Type

‘A’����������� ������������������  12 13 14 15 16 17

0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 0   0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 1   0 0 0 0 0 0 0 0   0 0 0 0 0 0 0 0  

char����������� ������������������  

데이터����������� ������������������  타입과����������� ������������������  작업����������� ������������������  

+����������� ������������������  

Page 78: [NEXT 프연 Week3] C# Data Type

12 13 14 15 16 17

0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 0   0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 1   0 0 0 0 0 0 0 0   0 0 0 0 0 0 0 0  

덧셈����������� ������������������  연산자����������� ������������������  

‘A’����������� ������������������  

이런����������� ������������������  작업을����������� ������������������  연산자Operator라고����������� ������������������  불러요����������� ������������������  

+����������� ������������������  

Page 79: [NEXT 프연 Week3] C# Data Type

직접����������� ������������������  해보시고����������� ������������������  의미를����������� ������������������  생각해����������� ������������������  보세요����������� ������������������  

using System;""namespace TypeConversion"{ "  class MainClass"  {"    public static void Main (string[] args) "    {"      short num = 65; "      char a = (char)num; "      Console.WriteLine (a);""      a = 'A'; "      num = (short)a;"      Console.WriteLine (num);"    }"  }"} !

Page 80: [NEXT 프연 Week3] C# Data Type

직접����������� ������������������  해보시고����������� ������������������  의미를����������� ������������������  생각해����������� ������������������  보세요����������� ������������������  

using System;""namespace SignedUnsigned"{ "  class MainApp"  {"     public static void Main (string[] args) "     {"        byte  a = 255; "        sbyte b = (sbyte)a;""        Console.WriteLine (a);"        Console.WriteLine (b);"      }"    }"} !

Page 81: [NEXT 프연 Week3] C# Data Type

파일File  

Data����������� ������������������  Type에����������� ������������������  ����������� ������������������  따라����������� ������������������  달라요����������� ������������������  ����������� ������������������  

표현����������� ������������������  방식����������� ������������������  

메모리����������� ������������������  크기����������� ������������������  

수행����������� ������������������  가능한����������� ������������������  연산����������� ������������������  

Page 82: [NEXT 프연 Week3] C# Data Type

데이터 형식   설명   크기(Byte)   담을 수 있는 값의 범위  

byte   부호 없는 정수   1(8bit)   0  ~  255  

sbyte   signed  byte  정수   1(8bit)   -­‐128  ~  127  

short   정수   2(16bit)   -­‐32,768  ~  32767  

ushort   unsigned  short  부호 없는 정수   2(16bit)   0  ~  65535  

int   정수   4(32bit)   -­‐2,147,483,648  ~  2,147,483,647  

uint   unsigned  int  부호 없는 정수   4(32bit)   0  ~  4294967295  

long   정수   8(64bit)   -­‐922337203685477508  ~  922337203685477507  

ulong   unsigned  long  부호 없는 정수   8(64bit)   0  ~  18446744073709551615  

char   유니코드 문자   2(16bit)  

float   단일 정밀도 부동 소수점 형식   4(32bit)   -­‐3.402823e38  ~  3.402823e38    

double   복수 정밀도 부동 소수점 형식   8(64bit)   -­‐1.79769313486232e308  ~  1.79769313486232e308    

decimal   29자리 데이터를 표현할 수 있는 소수 형식   16(128bit)   +-­‐1.0x10e-­‐28  ~  +-­‐7.9x10e28  

bool   논리형식   1(8bit)   true,  false  

C#����������� ������������������  기본����������� ������������������  데이터����������� ������������������  타입����������� ������������������  다시����������� ������������������  보기����������� ������������������  

Page 83: [NEXT 프연 Week3] C# Data Type

데이터 형식   설명   크기(Byte)   담을 수 있는 값의 범위  

byte   부호 없는 정수   1(8bit)   0  ~  255  

sbyte   signed  byte  정수   1(8bit)   -­‐128  ~  127  

bool   논리형식   1(8bit)   true,  false  

short   정수   2(16bit)   -­‐32,768  ~  32767  

ushort   unsigned  short  부호 없는 정수   2(16bit)   0  ~  65535  

char   유니코드 문자   2(16bit)  

int   정수   4(32bit)   -­‐2,147,483,648  ~  2,147,483,647  

uint   unsigned  int  부호 없는 정수   4(32bit)   0  ~  4294967295  

float   단일 정밀도 부동 소수점 형식   4(32bit)   -­‐3.402823e38  ~  3.402823e38    

long   정수   8(64bit)   -­‐922337203685477508  ~  922337203685477507  

ulong   unsigned  long  부호 없는 정수   8(64bit)   0  ~  18446744073709551615  

double   복수 정밀도 부동 소수점 형식   8(64bit)   -­‐1.79769313486232e308  ~  1.79769313486232e308    

decimal   29자리 데이터를 표현할 수 있는 소수 형식   16(128bit)   +-­‐1.0x10e-­‐28  ~  +-­‐7.9x10e28  

C#����������� ������������������  기본����������� ������������������  데이터����������� ������������������  타입����������� ������������������   크기가����������� ������������������  같더라도����������� ������������������  데이터����������� ������������������  타입에����������� ������������������  ����������� ������������������  따라����������� ������������������  값을����������� ������������������  해석하는����������� ������������������  방법이����������� ������������������  달라요����������� ������������������  

Page 84: [NEXT 프연 Week3] C# Data Type

변수Variable����������� ������������������  다시����������� ������������������  보기����������� ������������������  

Page 85: [NEXT 프연 Week3] C# Data Type

메모리에����������� ������������������  값을����������� ������������������  ����������� ������������������  어떻게����������� ������������������  저장하고����������� ������������������  ����������� ������������������  가져올����������� ������������������  수����������� ������������������  있나요?����������� ������������������  

Page 86: [NEXT 프연 Week3] C# Data Type

12 13 14 15 16 17

주소를����������� ������������������  이용해����������� ������������������  값을����������� ������������������  쓰거나����������� ������������������  읽어요����������� ������������������  

주소Address����������� ������������������  

메모리����������� ������������������  12번지에����������� ������������������  short����������� ������������������  타입(2바이트)����������� ������������������  값����������� ������������������  65저장����������� ������������������  

0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 0  

Page 87: [NEXT 프연 Week3] C# Data Type

12 13 14 15 16 17

주소Address����������� ������������������  

메모리����������� ������������������  16번지에����������� ������������������  short����������� ������������������  타입(2바이트)����������� ������������������  값����������� ������������������  321저장����������� ������������������  

0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 0   0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 1  

주소를����������� ������������������  이용해����������� ������������������  값을����������� ������������������  쓰거나����������� ������������������  읽어요����������� ������������������  

Page 88: [NEXT 프연 Week3] C# Data Type

12 13 14 15 16 17

주소Address����������� ������������������  

0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 0   0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 1  

12번지의����������� ������������������  short����������� ������������������  값����������� ������������������  +����������� ������������������  ����������� ������������������  16번지의����������� ������������������  short����������� ������������������  값����������� ������������������  ����������� ������������������  ����������� ������������������  

1 0 0 0 0 0 1 0  0 0 0 0 0 0 0 1  

주소를����������� ������������������  이용해����������� ������������������  값을����������� ������������������  쓰거나����������� ������������������  읽어요����������� ������������������  

14번지에����������� ������������������  short����������� ������������������  값으로����������� ������������������  저장����������� ������������������  ����������� ������������������  

Page 89: [NEXT 프연 Week3] C# Data Type

일일이����������� ������������������  메모리����������� ������������������  주소를����������� ������������������  외우기����������� ������������������  힘들어요  

Page 90: [NEXT 프연 Week3] C# Data Type

8bit����������� ������������������  

1byte����������� ������������������  

0 1 2 3 4 5

6 7 8 9 10 11

12 13 14 15 16 17

18 19 20 21 22 23

24 25 26 27 28 29

30 31 32 33 34 35

36 37 38 39 40 41

42 43 44 45 46 47

주소Address����������� ������������������  

x

변수Variable����������� ������������������  

주소����������� ������������������  대신����������� ������������������  쉽게����������� ������������������  기억할����������� ������������������  ����������� ������������������  수����������� ������������������  있는����������� ������������������  이름을����������� ������������������  사용����������� ������������������  

200����������� ������������������  

Page 91: [NEXT 프연 Week3] C# Data Type

12 13 14 15 16 17

주소를����������� ������������������  이용해����������� ������������������  메모리의����������� ������������������  위치����������� ������������������  참조����������� ������������������  

short����������� ������������������  sum����������� ������������������  

0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 0   0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 1  1 0 0 0 0 0 1 0  0 0 0 0 0 0 0 1  

x y sum

short����������� ������������������  x����������� ������������������  +����������� ������������������  ����������� ������������������  short����������� ������������������  y����������� ������������������  

short x = 65; "short y = ; "short sum; "

Page 92: [NEXT 프연 Week3] C# Data Type

형����������� ������������������  변환Type����������� ������������������  Conversion����������� ������������������  다시����������� ������������������  보기����������� ������������������  

Page 93: [NEXT 프연 Week3] C# Data Type

변수에����������� ������������������  변수와는����������� ������������������  다른����������� ������������������  타입의����������� ������������������  ����������� ������������������  값을����������� ������������������  저장����������� ������������������  

Page 94: [NEXT 프연 Week3] C# Data Type

12 13 14 15 16 17

byte x = 65; ""short y = x;����������� ������������������  

byte����������� ������������������  값을����������� ������������������  short에����������� ������������������  저장����������� ������������������  

0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 0  

y의����������� ������������������  데이터����������� ������������������  타입의����������� ������������������  크기가����������� ������������������  X의����������� ������������������  데이터����������� ������������������  타입의����������� ������������������  크기보다����������� ������������������  ����������� ������������������  

크기����������� ������������������  때문에����������� ������������������  문제����������� ������������������  없음����������� ������������������  

암시적����������� ������������������  ����������� ������������������  형변환����������� ������������������  

0 1 0 0 0 0 0 1  x y

Page 95: [NEXT 프연 Week3] C# Data Type

12 13 14 15 16 17 x

short����������� ������������������  값을����������� ������������������  byte에����������� ������������������  저장����������� ������������������  

0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 1  

y의����������� ������������������  데이터����������� ������������������  타입의����������� ������������������  크기가����������� ������������������  X의����������� ������������������  데이터����������� ������������������  타입의����������� ������������������  크기보다����������� ������������������  ����������� ������������������  작기����������� ������������������  때문에����������� ������������������  할당����������� ������������������  불가능����������� ������������������  

y

short y = 321; ""byte x = y;����������� ������������������  

0 1 0 0 0 0 0 1  

Page 96: [NEXT 프연 Week3] C# Data Type

12 13 14 15 16 17 x

short����������� ������������������  값을����������� ������������������  byte에����������� ������������������  저장����������� ������������������  

0 1 0 0 0 0 0 1  0 0 0 0 0 0 0 1  

y의����������� ������������������  데이터����������� ������������������  일부를����������� ������������������  ����������� ������������������  버린����������� ������������������  후����������� ������������������  X에����������� ������������������  저장����������� ������������������  ����������� ������������������  

y

short y = 321; ""byte x = (byte)y;����������� ������������������  

0 1 0 0 0 0 0 1  

명시적����������� ������������������  ����������� ������������������  형변환����������� ������������������  

Page 97: [NEXT 프연 Week3] C# Data Type

형변환����������� ������������������  연산자의����������� ������������������  의미����������� ������������������  

내가����������� ������������������  무슨����������� ������������������  짓을����������� ������������������  했는지����������� ������������������  잘����������� ������������������  알고����������� ������������������  있고����������� ������������������  책임도����������� ������������������  질테니����������� ������������������  그냥����������� ������������������  byte에����������� ������������������  short을����������� ������������������  넣어����������� ������������������  주세요~����������� ������������������  

Page 98: [NEXT 프연 Week3] C# Data Type

����������� ������������������  앞에서����������� ������������������  다뤘던����������� ������������������  코드가����������� ������������������  이해����������� ������������������  되시나요?����������� ������������������  

using System; namespace TypeConversion { class MainClass { public static void Main (string[] args) { byte byteNum   = 100;            // 1바이트 short shortNum = 100;            // 2바이트 int intNum     = 100;            // 4바이트 long longNum   = 100;            // 8바이트 shortNum = byteNum; intNum   = shortNum; longNum  = intNum; byteNum = (byte)shortNum; shortNum = (short)intNum; intNum = (int)longNum; } } } !

Page 99: [NEXT 프연 Week3] C# Data Type

HomeWork!!!����������� ������������������  

-����������� ������������������  4장,����������� ������������������  5장����������� ������������������  초간단����������� ������������������  요약����������� ������������������  

-����������� ������������������  Lab1����������� ������������������  ~����������� ������������������  Lab5까지����������� ������������������  자신의����������� ������������������  ����������� ������������������  ����������� ������������������  ����������� ������������������  ����������� ������������������  GitHub에����������� ������������������  올리기����������� ������������������  


Recommended