Date post: | 10-May-2015 |
Category: |
Software |
Upload: | youngho-cho |
View: | 642 times |
Download: | 4 times |
C#����������� ������������������ 자료형Data����������� ������������������ Type����������� ������������������
조영호����������� ������������������ [email protected]����������� ������������������
Week����������� ������������������ #3����������� ������������������
프로그래밍����������� ������������������ 연습����������� ������������������
Hello,����������� ������������������ World!����������� ������������������
파일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����������� ������������������
여러����������� ������������������ 클래스를����������� ������������������ 하나의����������� ������������������ 집합으로����������� ������������������ 묶기����������� ������������������ 위한����������� ������������������ 네임스페이스����������� ������������������
변수Variable����������� ������������������
변수Variable����������� ������������������
변수Variable����������� ������������������
변수����������� ������������������ 선언����������� ������������������
데이터타입����������� ������������������ 변수명;����������� ������������������
데이터 형식 설명 크기(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#����������� ������������������ 기본����������� ������������������ 데이터����������� ������������������ 타입����������� ������������������
변수����������� ������������������ 선언����������� ������������������
int value; ����������� ������������������ 예약어,����������� ������������������ 키워드����������� ������������������ 바꿀����������� ������������������ 수����������� ������������������ 없어요!!!����������� ������������������
식별자����������� ������������������ 마음대로����������� ������������������ 정할����������� ������������������ 수����������� ������������������ 있어요!!����������� ������������������
변수����������� ������������������ 초기화����������� ������������������
변수명����������� ������������������ =����������� ������������������ 값;����������� ������������������
변수����������� ������������������ 초기화����������� ������������������
value = 200; "����������� ������������������
변수����������� ������������������ 선언����������� ������������������ &����������� ������������������ 초기화����������� ������������������
데이터타입����������� ������������������ 변수명����������� ������������������ =����������� ������������������ 값;����������� ������������������
변수����������� ������������������ 선언����������� ������������������ &����������� ������������������ 초기화����������� ������������������
int value = 200; ����������� ������������������
변수����������� ������������������ 선언과����������� ������������������ 동시에����������� ������������������ 초기화하는����������� ������������������ 습관을����������� ������������������ 들이세요!!
����������� ������������������ [Lab����������� ������������������ #1]����������� ������������������ 함께����������� ������������������ 해봅시다~����������� ������������������
두����������� ������������������ 수����������� ������������������ 100과����������� ������������������ 200의����������� ������������������ 합을����������� ������������������ 구해서����������� ������������������ 다음과����������� ������������������ 같이����������� ������������������ 결과를����������� ������������������ 화면에����������� ������������������ 출력하는����������� ������������������ 프로그램을����������� ������������������ 작성하세요����������� ������������������
첫 번째 수: 100, 두번째 수: 200, 합: 300 "
파일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()����������� ������������������
활용해보세요����������� ������������������
[Lab����������� ������������������ #2]����������� ������������������ 직접����������� ������������������ 해보세요~����������� ������������������
100,����������� ������������������ 200,����������� ������������������ 300,����������� ������������������ 400의����������� ������������������ 평균을����������� ������������������ 구해서����������� ������������������ 다음과����������� ������������������ 같이����������� ������������������ 출력하세요.����������� ������������������
100, 200, 300, 400, 평균: 250 "
int average = (num1 + num2 + num3 + num4) / 4; !힌트
����������� ������������������ 숫자����������� ������������������ 4개의����������� ������������������ 평균����������� ������������������ 구하기����������� ������������������
문자열string과����������� ������������������ ����������� ������������������ 형변환Type����������� ������������������ Conversion����������� ������������������
변수����������� ������������������ 선언����������� ������������������ &����������� ������������������ 초기화����������� ������������������
string����������� ������������������
하나����������� ������������������ 이상의����������� ������������������ 문자들을����������� ������������������ 담을����������� ������������������ 수����������� ������������������ 있는����������� ������������������ 자료형����������� ������������������
����������� ������������������ [Lab����������� ������������������ #3]����������� ������������������ 함께����������� ������������������ 해봅시다~����������� ������������������
자신의����������� ������������������ 이름을����������� ������������������ 이용해서����������� ������������������ 다음과����������� ������������������ 같이����������� ������������������ 출력하는����������� ������������������ 프로그램을����������� ������������������ 작성하세요.����������� ������������������ ����������� ������������������ 단,����������� ������������������ “Hello,����������� ������������������ “와����������� ������������������ “이름”을����������� ������������������ 별도의����������� ������������������ 문자열����������� ������������������ 변수에����������� ������������������ 담은����������� ������������������ 후����������� ������������������ 연결해서����������� ������������������ 출력해����������� ������������������ 보세요����������� ������������������ ����������� ������������������
Hello, 조영호 – 문자수: 11 "
파일File
string name = "조영호”; !
string����������� ������������������ 변수����������� ������������������ 선언����������� ������������������ &����������� ������������������ 초기화����������� ������������������
string����������� ������������������ 변수����������� ������������������ 연결하기����������� ������������������
string result = greeting + name;!
result.Length !
string의����������� ������������������ 길이����������� ������������������ 구하기����������� ������������������
활용해보세요����������� ������������������
문자열����������� ������������������ 리터럴����������� ������������������
직접����������� ������������������ 해보세요~����������� ������������������
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; } } } !
변수에����������� ������������������ 담을����������� ������������������ 수����������� ������������������ 있는����������� ������������������ 데이터의����������� ������������������ 크기����������� ������������������
작은����������� ������������������ 크기의����������� ������������������ 데이터를����������� ������������������ 더����������� ������������������ 큰����������� ������������������ 크기의����������� ������������������ 데이터����������� ������������������ 타입에����������� ������������������ 넣을����������� ������������������ 수는����������� ������������������ 있지만����������� ������������������
더����������� ������������������ 큰����������� ������������������ 크기의����������� ������������������ 데이터����������� ������������������ 타입을����������� ������������������ 더����������� ������������������ 작은����������� ������������������ 크기의����������� ������������������ 데이터����������� ������������������ 타입에����������� ������������������ 넣을����������� ������������������ 수����������� ������������������ 없어요����������� ������������������
주의!����������� ������������������ 이����������� ������������������ 코드에는����������� ������������������ 에러가����������� ������������������ 있어요!!!����������� ������������������
직접����������� ������������������ 해보세요~����������� ������������������
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; } } } !
명시적으로����������� ������������������ 변환할����������� ������������������ 타입을����������� ������������������ ����������� ������������������ 지정해����������� ������������������ 줘야����������� ������������������ 합니다����������� ������������������
직접����������� ������������������ 해보세요~����������� ������������������
using System;""namespace TypeConversion"{ " class MainClass" {" public static void Main (string[] args) " {" int intNum = 100; " string stringNum = "100"; "" intNum = stringNum; " stringNum = intNum; " }" }"} !
주의!����������� ������������������ 이����������� ������������������ 코드에는����������� ������������������ 에러가����������� ������������������ 있어요!!!����������� ������������������
직접����������� ������������������ 해보세요~����������� ������������������
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();" }" }"} !
일단����������� ������������������ 이런����������� ������������������ 방식으로����������� ������������������ 해야����������� ������������������ 변환이����������� ������������������ 가능하다는����������� ������������������ 정도만����������� ������������������ 기억하고����������� ������������������ 넘어가세요����������� ������������������
두����������� ������������������ 정수를����������� ������������������ 키보드로����������� ������������������ 입력����������� ������������������ 받아����������� ������������������ 더한����������� ������������������ 후����������� ������������������ 다음과����������� ������������������ 같이����������� ������������������ 결과를����������� ������������������ 화면에����������� ������������������ 출력하는����������� ������������������ 프로그램을����������� ������������������ 작성하세요����������� ������������������
첫 번째 수: 100, 두번째 수: 200, 합: 300 "
[Lab����������� ������������������ #4]����������� ������������������ 직접����������� ������������������ 해보세요~����������� ������������������
파일File
string value = Console.ReadLine ();!
활용해보세요����������� ������������������
Console.ReadLine()����������� ������������������ 키보드를����������� ������������������ 이용해����������� ������������������ 입력����������� ������������������ 받기����������� ������������������
컴퓨터는����������� ������������������ 키보드를����������� ������������������ 통해����������� ������������������ 입력����������� ������������������ 받은����������� ������������������ 값을����������� ������������������ 무조건����������� ������������������ 문자열로����������� ������������������ 생각����������� ������������������
입력����������� ������������������ 받은����������� ������������������ 두����������� ������������������ 정수의����������� ������������������ 합을����������� ������������������ 구하려면?����������� ������������������
나����������� ������������������ 만의����������� ������������������ 자료형Data����������� ������������������ Type����������� ������������������
만들기����������� ������������������
자구알����������� ������������������ 진도����������� ������������������ 맞추기����������� ������������������ 용����������� ������������������
클래스를����������� ������������������ 만드는����������� ������������������ ����������� ������������������ 문법만����������� ������������������
아주����������� ������������������ 간단하게����������� ������������������ 훑고����������� ������������������ 넘어갈께요����������� ������������������
����������� ������������������ 왜(Why)에����������� ������������������ 관해서는����������� ������������������ ����������� ������������������
다른����������� ������������������ 시간에����������� ������������������ 자세히����������� ������������������ 살펴����������� ������������������ 볼께요~����������� ������������������
자세히����������� ������������������ 보세요~����������� ������������������
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();" }" }"} !
정수����������� ������������������ 값을����������� ������������������ 문자열로����������� ������������������ 변환합니다����������� ������������������
stringNum = intNum.ToString();
int intNum = 100;
스스로를����������� ������������������ 문자열로����������� ������������������ 변환����������� ������������������
100이라는����������� ������������������ 값을����������� ������������������ 가진����������� ������������������ 실제����������� ������������������ 정수����������� ������������������
변수가����������� ������������������ 스스로에����������� ������������������ 대해����������� ������������������ 작업을����������� ������������������ 합니다����������� ������������������
정수형����������� ������������������ 데이터����������� ������������������ 타입����������� ������������������
stringNum = intNum.ToString();
int intNum = 100;
메소드Method����������� ������������������
객체Object����������� ������������������ 또는����������� ������������������
int의����������� ������������������ 인스턴스instance����������� ������������������
객체지향����������� ������������������ 프로그래밍의����������� ������������������ 관점에서����������� ������������������
클래스Class����������� ������������������
객체지향����������� ������������������ 프로그래밍����������� ������������������
클래스����������� ������������������ =����������� ������������������ 데이터����������� ������������������ +����������� ������������������ 메소드����������� ������������������
객체=����������� ������������������ 클래스의����������� ������������������ 인스턴스����������� ������������������
class Cat "{ " public string Name;" public string Color;"" public void Meow()" {" Console.WriteLine("{0} : 야옹", Name);" }"} !
Cat kitty = new Cat(); "
메소드Method����������� ������������������
필드Field����������� ������������������
new����������� ������������������ 클래스명()����������� ������������������
메소드����������� ������������������ 살펴보기����������� ������������������
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 ();!
값����������� ������������������ 반환����������� ������������������
인스턴스����������� ������������������ 생성����������� ������������������ –����������� ������������������ 선언����������� ������������������ 후����������� ������������������ 초기화����������� ������������������
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;
인스턴스����������� ������������������ 생성����������� ������������������ –����������� ������������������ 선언����������� ������������������ &����������� ������������������ 초기화����������� ������������������
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����������� ������������������
반환값이����������� ������������������ 없고����������� ������������������ ����������� ������������������ 이름이����������� ������������������ 클래스명과����������� ������������������ 동일한����������� ������������������ 메소드����������� ������������������
국어����������� ������������������ 10점,����������� ������������������ 영어����������� ������������������ 20점,����������� ������������������ 수학����������� ������������������ 30점,����������� ������������������ 과학����������� ������������������ 40점인����������� ������������������ 조영호����������� ������������������ 학생의����������� ������������������ 성적����������� ������������������ 평균을����������� ������������������ 구하세요.����������� ������������������
[Lab����������� ������������������ #5]����������� ������������������ 함께����������� ������������������ 해봅시다~����������� ������������������
hDps://github.com/snatcher93/Student.git
자료형Data����������� ������������������ Type����������� ������������������
변수를����������� ������������������ 이해하기����������� ������������������ 위한����������� ������������������ ����������� ������������������ 핵심����������� ������������������ 개념����������� ������������������ 두����������� ������������������ 가지!!����������� ������������������
����������� ������������������
자료형Data����������� ������������������ Type����������� ������������������
메모리Memory����������� ������������������
해리포터에����������� ������������������ 관해����������� ������������������ 알고����������� ������������������ 싶어요!����������� ������������������
자료Data����������� ������������������
다양한����������� ������������������ ����������� ������������������ 유형Type의����������� ������������������ ����������� ������������������ 자료Data들����������� ������������������
파일File
자료Data의����������� ������������������ 종류Type에����������� ������������������ 따라����������� ������������������ 어떤����������� ������������������ 차이점이����������� ������������������ 있을까요?����������� ������������������ ����������� ������������������ ����������� ������������������
파일File
자료Data의����������� ������������������ 유형Type에����������� ������������������ 따라����������� ������������������ ����������� ������������������ 담고����������� ������������������ 있는����������� ������������������ 정보의����������� ������������������ 종류가����������� ������������������ 달라요����������� ������������������
글����������� ������������������ 동영상����������� ������������������
게임����������� ������������������ 컨텐츠����������� ������������������ ����������� ������������������
파일File
자료Data의����������� ������������������ 유형Type에����������� ������������������ 따라����������� ������������������ ����������� ������������������ 담을����������� ������������������ 수����������� ������������������ 있는����������� ������������������ 정보의����������� ������������������ 양이����������� ������������������ 달라져요����������� ������������������
몇����������� ������������������ 페이지?����������� ������������������ 몇����������� ������������������ 시간?����������� ������������������ 몇����������� ������������������ GB?����������� ������������������
파일File
자료Data의����������� ������������������ 유형Type에����������� ������������������ 따라����������� ������������������ ����������� ������������������ 사용����������� ������������������ 방법이����������� ������������������ 달라져요����������� ������������������
읽기����������� ������������������ 보기����������� ������������������ 플레이하기����������� ������������������
파일File
자료Data의����������� ������������������ 유형Type에����������� ������������������ ����������� ������������������ 따라����������� ������������������ 달라요����������� ������������������ ����������� ������������������
정보의����������� ������������������ 종류����������� ������������������
정보의����������� ������������������ 양����������� ������������������
할����������� ������������������ 수����������� ������������������ 있는����������� ������������������ 행동����������� ������������������
자료Data를����������� ������������������ 컴퓨터����������� ������������������ 안으로
데이터를����������� ������������������ 사용하려면����������� ������������������ 컴퓨터의����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ 라는����������� ������������������ 곳에����������� ������������������ 넣어둬야����������� ������������������ 해요
“메모리”
지금부터는����������� ������������������ 어려워요!!����������� ������������������
����������� ������������������ 정확하게����������� ������������������ ����������� ������������������
이해가����������� ������������������ 안되더라도����������� ������������������ ����������� ������������������ 데이터����������� ������������������ 타입과����������� ������������������ ����������� ������������������
메모리����������� ������������������ 사이의����������� ������������������ 관계에����������� ������������������ 초점을����������� ������������������ 맞춰서����������� ������������������ ����������� ������������������ 들어보세요����������� ������������������
메모리Memory����������� ������������������
BIT
1 0
1����������� ������������������ BYTE����������� ������������������ =����������� ������������������ 8����������� ������������������ BITS
1 0 0 0 0 0 0 0
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����������� ������������������
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����������� ������������������
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����������� ������������������
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����������� ������������������
몇����������� ������������������ 바이트를����������� ������������������ 읽느냐에����������� ������������������ 따라����������� ������������������ ����������� ������������������ 결과가����������� ������������������ 달라져요����������� ������������������
0과����������� ������������������ 65����������� ������������������ ?����������� ������������������
321����������� ������������������ ?����������� ������������������ ����������� ������������������
00000000 00100010
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����������� ������������������
‘Ł’����������� ������������������
어떻게����������� ������������������ 해석하느냐에����������� ������������������ 따라����������� ������������������ 표현����������� ������������������ 방식이����������� ������������������ 달라져요����������� ������������������
65?����������� ������������������
A?����������� ������������������ ����������� ������������������
00000000 00100010
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����������� ������������������
메모리����������� ������������������ 조각����������� ������������������
+����������� ������������������
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’����������� ������������������ Ł����������� ������������������
메모리����������� ������������������ 조각����������� ������������������
+����������� ������������������
데이터를����������� ������������������ 어떻게����������� ������������������ 해석하느냐에����������� ������������������ 따라����������� ������������������ 수행할����������� ������������������ 수����������� ������������������ 있는����������� ������������������ 작업이����������� ������������������ 달라져요����������� ������������������
+����������� ������������������ ?����������� ������������������
00000000 00100010
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
이����������� ������������������ 메모리����������� ������������������ 조각에����������� ������������������ 저장된����������� ������������������ 값은����������� ������������������ 무엇일까요?����������� ������������������ ����������� ������������������ ����������� ������������������ 저장된����������� ������������������ 값을����������� ������������������ 이용해����������� ������������������ +를����������� ������������������ 할����������� ������������������ 수����������� ������������������ 있을까요?����������� ������������������
쉽게����������� ������������������ 알����������� ������������������ 수����������� ������������������ 있나요?����������� ������������������
메모리����������� ������������������ 안의����������� ������������������ 데이터를����������� ������������������ 사용하기����������� ������������������ 위해����������� ������������������
몇����������� ������������������ 바이트����������� ������������������ 크기?����������� ������������������ ����������� ������������������
해석����������� ������������������ 방법?����������� ������������������
가능한����������� ������������������ 작업의����������� ������������������ 종류?����������� ������������������
실수하기는����������� ������������������ 쉽고;;����������� ������������������ ����������� ������������������ 기억하기는����������� ������������������ 어렵고;;����������� ������������������
자료형����������� ������������������ (Data����������� ������������������ Type)����������� ������������������
자료형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����������� ������������������
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����������� ������������������
데이터����������� ������������������ 타입과����������� ������������������ 메모리����������� ������������������ 크기����������� ������������������
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����������� ������������������
데이터����������� ������������������ 타입과����������� ������������������ 메모리����������� ������������������ 크기����������� ������������������
데이터����������� ������������������ 타입은����������� ������������������ ����������� ������������������ ����������� ������������������ 메모리����������� ������������������ 값의����������� ������������������ 표현����������� ������������������ 방식을����������� ������������������ ����������� ������������������ 결정해요����������� ������������������
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����������� ������������������
데이터����������� ������������������ 타입과����������� ������������������ 표현����������� ������������������
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’����������� ������������������
데이터����������� ������������������ 타입과����������� ������������������ 표현����������� ������������������
데이터����������� ������������������ 타입은����������� ������������������ ����������� ������������������ ����������� ������������������ 메모리����������� ������������������ 값에����������� ������������������ 수행할����������� ������������������ 수����������� ������������������ 있는����������� ������������������ ����������� ������������������
작업을����������� ������������������ ����������� ������������������ 제한해요����������� ������������������
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����������� ������������������
데이터����������� ������������������ 타입과����������� ������������������ 작업����������� ������������������
+����������� ������������������
‘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����������� ������������������
데이터����������� ������������������ 타입과����������� ������������������ 작업����������� ������������������
+����������� ������������������
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라고����������� ������������������ 불러요����������� ������������������
+����������� ������������������
직접����������� ������������������ 해보시고����������� ������������������ 의미를����������� ������������������ 생각해����������� ������������������ 보세요����������� ������������������
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);" }" }"} !
직접����������� ������������������ 해보시고����������� ������������������ 의미를����������� ������������������ 생각해����������� ������������������ 보세요����������� ������������������
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);" }" }"} !
파일File
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#����������� ������������������ 기본����������� ������������������ 데이터����������� ������������������ 타입����������� ������������������ 다시����������� ������������������ 보기����������� ������������������
데이터 형식 설명 크기(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#����������� ������������������ 기본����������� ������������������ 데이터����������� ������������������ 타입����������� ������������������ 크기가����������� ������������������ 같더라도����������� ������������������ 데이터����������� ������������������ 타입에����������� ������������������ ����������� ������������������ 따라����������� ������������������ 값을����������� ������������������ 해석하는����������� ������������������ 방법이����������� ������������������ 달라요����������� ������������������
변수Variable����������� ������������������ 다시����������� ������������������ 보기����������� ������������������
메모리에����������� ������������������ 값을����������� ������������������ ����������� ������������������ 어떻게����������� ������������������ 저장하고����������� ������������������ ����������� ������������������ 가져올����������� ������������������ 수����������� ������������������ 있나요?����������� ������������������
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
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
주소를����������� ������������������ 이용해����������� ������������������ 값을����������� ������������������ 쓰거나����������� ������������������ 읽어요����������� ������������������
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����������� ������������������ 값으로����������� ������������������ 저장����������� ������������������ ����������� ������������������
일일이����������� ������������������ 메모리����������� ������������������ 주소를����������� ������������������ 외우기����������� ������������������ 힘들어요
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����������� ������������������
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; "
형����������� ������������������ 변환Type����������� ������������������ Conversion����������� ������������������ 다시����������� ������������������ 보기����������� ������������������
변수에����������� ������������������ 변수와는����������� ������������������ 다른����������� ������������������ 타입의����������� ������������������ ����������� ������������������ 값을����������� ������������������ 저장����������� ������������������
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
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
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
명시적����������� ������������������ ����������� ������������������ 형변환����������� ������������������
형변환����������� ������������������ 연산자의����������� ������������������ 의미����������� ������������������
내가����������� ������������������ 무슨����������� ������������������ 짓을����������� ������������������ 했는지����������� ������������������ 잘����������� ������������������ 알고����������� ������������������ 있고����������� ������������������ 책임도����������� ������������������ 질테니����������� ������������������ 그냥����������� ������������������ byte에����������� ������������������ short을����������� ������������������ 넣어����������� ������������������ 주세요~����������� ������������������
����������� ������������������ 앞에서����������� ������������������ 다뤘던����������� ������������������ 코드가����������� ������������������ 이해����������� ������������������ 되시나요?����������� ������������������
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; } } } !
HomeWork!!!����������� ������������������
-����������� ������������������ 4장,����������� ������������������ 5장����������� ������������������ 초간단����������� ������������������ 요약����������� ������������������
-����������� ������������������ Lab1����������� ������������������ ~����������� ������������������ Lab5까지����������� ������������������ 자신의����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ GitHub에����������� ������������������ 올리기����������� ������������������