본문 바로가기

c#36

36.클래스(전역변수/지역변수), 실제사용법 클래스로 들어오면서 구역개념이 생긴다. 다음예제를 보자. public class testc { private int _num = 10; public int getnum() { return _num; } public void addnum(int num) { int n = _num; n += num; _num = n; } public void multyplenum(int num) { int n = _num; n *= num; _num = n; } } 참고로 일부러 쓸데없는 코드들이 추가 되있다. 위 클래스에서 addnum 메서드(=함수)를 보자. num 을 파라미터(=매개변수=인자) 로 받고 함수내부에 n 을 정의하고 더해줬다. 그리고 _num 인 필드에는 파라미터로 받은 num 을 더해줬다. 그리고 밑에 .. 2021. 10. 9.
35.클래스(생성자오버로딩) 생성자는 오버로딩도 가능하다. 글자만 보면 무슨말이지 할수도 있다. 둘다 앞에서 각각 배운개념이다. 다시 우리가 계속 사용하던 MessageBox 를 살펴보자. 그림1을 보면 이제 이해가 좀 될것이다. MessageBox 라는 클래스 였던것이다. 이클래스는 닷넷프레임워크 내에 미리 만들어져있다. 그리고 Show 함수는 앞에도 이야기 했지만 여러형태로 사용할 수 있게 오버로딩이 되어있다. MessageBox 에서 마우스 우클릭하면 위와 같이 나오는데 정의로 이동을 눌러보자. 모든클래스에서(내가 직접만든 클래스도) 우클릭으로 정의로 이동하여 찾아갈수 있다. 정의로 이동해서 옴겨가면 그림3과 같은 화면이 나온다. 왼쪽에 + 누르면 펼쳐지는데 한번씩 열어서 읽어보자. 제일위에 어셈블리는 실제 물리적인 파일을 의.. 2021. 10. 9.
34.클래스(생성자,소멸자) 앞에서 은근히 계속 이야기하던 클래스라는것에 대해서 배워보자. 클래스는 쉽게 말하면 함수들을 모아놓은것이다. 앞에 그림에서도 이야기했지만 네임스페이스 ᑐ 클래스 ᑐ 함수 로 생각하면 된다. 함수에 비해서 클래스는 범위도 넓고 더 많은 내용을 가질수 있다. 뿐만아니라 아예 파일을 분리하는것도 가능하다. 그리고 클래스는 앞에서 말하던 하나의 객체로 만들수 있다. 기본적인 클래스의 형태는 대체로 다음과 같다. 참고로 메서드 = 함수 이다. class 클래스명 { 필드 메서드() { } } 위에서 필드라고 했는데 필드 = 변수 라고 생각하면된다. 필드가 없을수도 있고 메서드가 없을수도 있다. 심지어 둘다 아무것도 없이 만들수도 있다.(당연히 아무의미 없겠지만) 클래스는 객체로 만들수 있는데 객체로 만들때는 ne.. 2021. 10. 9.
33.갑자기실습 우리 프로그램에 프레임이 9개가 있다. 그런데 각 사용자가 제외할 프레임만 입력하면 그프레임이 작동하지 않게 하고 싶다. 당연히 사용자는 어떤 프레임을 제외하고 싶은지 알수없다. 텍스트박스에 사용자가 제외할 프레임을 이어서 작성하면 제외될 프레임이 순서대로 출력되게 만들자. 프레임은 9개다. ex) 사용자가 텍스트박스에 4825 입력하면 2,4,5,8 이 팝업창에 떠야함. ex) 사용자가 텍스트박스에 9,4 입력하면 4,9 이 팝업창에 떠야함. ex) 사용자가 텍스트박스에 a428 입력하면 2,4,8 이 팝업창에 떠야함. hint) 0 ~ 9 까지만 정렬하면 된다. ***숙제 : 위에 설명한 프로그램 만들기가 숙제. 2021. 10. 9.
32.인텔리센스/오버로딩 인텔리센스는 프로그램을 편하게 할수있게 해주는 가이드이다. 비주얼스튜디오 에서 제공하는 내용으로 이클립스에서도 비슷한 기능이 있다. 우리는 메세지 출력할때 MessageBox 를 입력하고 . 을 누르면 Show 라는 함수를 쉽게 쓸수있고 파라미터로 어떤값을 넣어줘야하는지도 나온다. 만약 우리가 비주얼스튜디오가 아닌 메모장에서 해당코드들을 직접입력하면 저런도움을 받을수 없다. 내가 아는 한도내에서는 비쥬얼스튜디오처럼 인텔리센스 기능이 잘되있는 툴은 없다. 우리가 계속 사용하고 있는 MessageBox 기준으로 알아보자. MessageBox 를 코딩하고 . 을 찍으면 MessageBox 에 있는 사용가능한 것들이 나온다. MessageBox 라는 클래스에 속하는 함수들인데 그중 우리는 Show 를 선택해서 .. 2021. 10. 9.
31.업데이트내역 프로그램만들기 / splite string 에는 여러가지 사용가능한 함수들이 있다.(string 은 클래스다.) 그중 splite 함수는 상당히 자주쓰이는데 문자를 특정기준으로 잘라서 배열로 만들때 사용한다. 아래 예제를 보자. 그림1은 str string 을 , 기준으로 나눠서 변수에 담는다는 의미이다. 그러면 strarray 에는 [0] 번에는 "가" , [1] 번에는 "나" 이런식으로 "사" 까지 글자가 자동으로 잘라져서 들어간다. 위 예제에서는 , 기준으로 잘라서 그렇게 들어가는것이고 만약 str.Split('다') 라고 했다면 어떻게 잘라질지 확인해보자.(숙제) 숙제 ***숙제 : 위 그림처럼 "업데이트함" 버튼을 누르면 업데이트할 호기중 해당 호기가 빠진 나머지 업데이트할 호기가 남은 업데이트 호기에 보이게 프로그램을 만들.. 2021. 10. 9.
30.함수2 함수에 대한 기본적인 내용은 앞장들에서 다 설명한거같다. 참고로 함수 = 메서드 라고도 부른다. 다시 내용을 상기시켜보면 함수의 기본형식은 다음과 같다. 함수명() { 작업할내용 } ( ) 괄호가 특정이름뒤에 붙어있으면 함수이고 최소 단위라고 생각하면 된다. 당연한 말이지만 한 클래스 내에는 여러개의 함수가 존재할 수 있다. 물론 한 네임스페이스 내에 여러개의 클래스도 존재할 수 있다. 함수에서 받는 파라미터는 몇가지 형태가 있다. 가장기본적인 형태는 다음과같다. 함수명(형식 변수명) { 작업할 내용 } 예제는 다음과 같다. public string testf(string str) { return $"{str} 을 리턴함"; } 위 예제는 이제 다 이해할수 있을거라 생각한다. 그림1 과 같은 예제가 있다.. 2021. 10. 9.
29.접근제한자, 네임스페이스 , 클래스 프로그램을 하면 혼자 다하는게 아니라 여러사람이 함께 하게 된다. 그런데 한명이 작업중에 다른사람이 같이 작업하는건 상당히 난감한일이 된다. 같은 부분을 어떤사람은 이렇게 만들고 다른사람은 다르게 만들수도있다. 그래서 함수만으로는 분업이 힘들거라 생각한 똑똑한 사람들이 그 윗단계로 나눌수 있는 덩어리들도 만들어뒀다. 그게 클래스이다. 자세한 내용은 나중에 다시 하고 함수처럼 특정행동을 할수 있는 더 큰 단위로 클래스가 있다 라고만 알고 넘어가자. 네임스페이스 역시 같은 의미이다. 네임스페이스는 자바에서는 패키지라고부르고 사용한다. 별로 어렵게 생각할거없이 그림1과 같은 구조이다. 주의 할점은 상위그룹내에 하위 그룹의 명칭은 유일해야한다는 것이다. aa 라는 클래스가 있다면 그내부에 bb() 라는 함수가 .. 2021. 10. 9.
28.함수1 프로그램에서 거의 모든 기본 개념은 함수에서 출발한다. 함수는 특정행동을 하는 내용을 모아놓은 덩어리라고 생각하면 된다. 우리가 이때까지 만들던 프로그램은 버튼클릭했을때 작동하게 만들었다. 만약 버튼이 여러개 있는데 다 똑같은 동작을해야할때 어떻게 해야할까? 물론 버튼마다 다 실행되야하는 내용을 적어주면 된다. 그런데 너무 소스가 길어지고 만들어야할게 많다. 비슷한동작이나 같은동작을 할경우는 해당 내용을 한군데 적어놓고 그거 실행하라고 하면 더 편할것이다. 함수의 기본형식은 다음과 같다. 함수명() { 실행할내용 } 언어에 따라 아래와같이 함수명 앞에 function 을 붙여 주는 언어도 있다. function 함수명() { 실행할내용 } c#이나 자바같은경우는 위 기본형식외에 추가적으로 몇가지 내용을 .. 2021. 10. 9.
27.Object 나도 잘하지않지만 모르는게 나오면 msdn 을 찾아보면 좋다. 전체적인 내용이 잘나와있는데 사실 풀어쓴 사람들의 블로그같은 글이 보기 더좋지 사전같은 msdn 은 찾아보기 힘들긴하다. docs.microsoft.com/ko-kr/dotnet/api/system.object.-ctor?view=net-5.0#System_Object__ctor Object 생성자 (System) Object 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the Object class. docs.microsoft.com docs.microsoft.com/ko-kr/dotnet/api/system.string?view=net-5.0 String 클래스 (System) 텍스트를 UTF-.. 2021. 10. 9.
26.구구단출력기 만들기 ***숙제 : 그림1과 같은 프로그램을 만들어보자. 버튼을 누르면 결과값이 나와야한다. 2021. 10. 9.
25.사칙연산기 만들기 배운것들을 활용해서 간단한 프로그램을 만들어보자. ***숙제 : 그림1과 같은 프로그램을 만들어보자. 버튼을 누르면 결과값이 나와야한다. 2021. 10. 9.
24.반복문2 - while , foreach 배열과 반복문은 상당히 밀접한 관계가 있어 둘을 병행하면서 진행중이다. 이전에 for 문을 배웠는데 내용은 알고 있을거라고 생각한다. for 문 외에도 while 과 foreach 는 상당히 자주 사용된다. while 문 같은 경우는 기본이 무한반복이다. 기본 형식은 다음과 같다. while(조건) { 실행내용 } 10보다 작은 양의 정수를 출력하는 예제를 보자. int i = 1; while(i 2021. 10. 9.
23.배열2 앞에서 배운 배열은 1차원 배열이다. 그림1에서 보면 빨간색 네모 각각이 데이터라고 생각하면 된다. 1차원은 데이터를 한줄로 나열한것이고 2차원은 엑셀처럼 가로세로 , 3차원은 2차원의 각각의 셀에 다시 1차원처럼 데이터를 나열한것이다. 실제로 프로그램 하다보면 게임 프로그램이 아닌경우는 2차원배열이나 3차원배열을 사용할경우는 잘없다. 나중에 오픈cv 를 공부하다보면 그나마 영상을 저장하거나 할때 2차원배열이 필요할걸로 생각된다. 다차원 배열선언은 다음과 같다. // 1차원 배열 string[] players = new string[10]; string[] Regions = { "서울", "경기", "부산" }; // 2차원 배열 string[,] Depts = {{"김과장", "경리부"},{"이과장",.. 2021. 10. 9.
22.배열1 반복문은 배열과 대부분 같이 쓰인다. 배열이란 동일한 형태의 값을 일렬로 늘어놓은것이다. 우리는 마트에서 사과 , 바나나 , 멜론 , 포도 등이 같이 있으면 과일코너 라고 인지할 수 있다. 만약 다른사람과 전화해서 내위치를 이야기할때 과일코너에 있다고 말하지 사과 , 바나나 , 멜론 , 포도 등등 여러가지가 있는 곳에 있다 라고 이야기하지는 않을것이다. 배열은 이처럼 내가 사용할 여러 데이터들을 하나의 명칭으로 표현하고 말할수 있게 하기위한 도구이다. 가장 기본형식은 아래와 같다. 형식[] 배열명 = { "값1","값2"... }; [] 는 [ ] 두개 붙여쓴문자다. 예제로 확인해보면 아래형태이다. string[] myperson = { "나" , "상상의동물여친" , "효도하자부모님" }; mypers.. 2021. 9. 26.
21.반복문1 - for 반복문은 반복된 작업을 단축해서 표시하는 내용이다. 같은내용을 여러번 반복해서 해야 하는경우 여러번 같은 내용을 써주는 것보다 이내용을 몇번실행해라 라고 명령하는것이 당연히 효율적일것이다. 예를 들면 "출력,출력,출력.... , 출력" 하고 백번 써주는것보다 "출력백번해라" 라고 써주는게 효율이 좋다는 의미이다. 프로그램에서도 반복문은 아주중요하다. 계속 이야기하듯이 분기문과 반복문만 할줄알면 모든 프로그램을 다만들수 있다. 반복문은 for , foreach , while 등이 있는데 가장기본적인 for 문부터 알아보자. 기본 형식은 다음과 같다. for(시작값;반복이종료될조건;증감값) { 실행할 내용 } 시작값은 변수를 입력하면 되고 반복이 종료될조건은 반복문이 종료될 조건을 지정해주면 된다. 증감값은.. 2021. 9. 26.
20.조건문(분기문) 실습1 분기문은 계속 이야기하지만 가장중요한 내용이다. 앞에서 나온내용들로 프로그램을 만들어보자. 종합적인 내용으로 난이도가 있을걸로 생각되어 2개수업에 걸쳐 진행한다. 숙제 ***숙제 : 위 숙제 같은 형태의 폼을 만들고 필요한 작업화 버튼을 눌렀을때 아래 형태로 출력할것 힌트 : string 타입변수에 Environment.NewLine 을 더해주면 줄바꿈이 된다. 힌트 : string totalresult = ""; int size270 = 0; string size270person = ""; int size275 = 0; string size275person = ""; int size280 = 0; string size280person = ""; 최초변수를 위와같이 정의해보자. 이름1,이름2,이름3 의 .. 2021. 9. 20.
19.조건문(분기문) , bool형식 , 논리연산자3 - switch 조건문에는 if 문 외에 switch 문도 있다. 전체 형식은 다음과 같다. 변수 switch(변수) { case 비교대상값(상수): 실행할내용 break; case 비교대상값(상수): 실행할내용 break; default: 실행할내용 break; } 위 형식만으로는 이해가 잘가지 않을테니 예제를 한번 보자. int a = 10; switch( a ) { case 10: MessageBox.Show("a의 값은 10입니다."); break; case 20: MessageBox.Show("a의 값은 20입니다."); break; default: MessageBox.Show("a의 값은 10입니다."); break; } 일단 위예제를 실행하면 10이 나오는데 하나씩 뜯어보자. 최초 a 라는 변수를 선언후 s.. 2021. 9. 20.
18.조건문(분기문) , bool형식 , 논리연산자2 - if 앞장에서 조건문중 if 문 형식을 확인했다. if(조건) { 조건이 참일때 실행할내용 } else { 조건인 거짓일때 실행할내용 } 기본형태는 위와 같은데 여러가지 다른형태로 사용할 수도 있다. 아래 형식들을 보자. if ( 조건 ) { 조건이 참일때 실행할 내용 } if ( 조건 ) { 조건이 참일때 실행할 내용 } else if ( 조건 ) { 첫번째 if 에 걸리지않은 값들중 조건이 참일때 실행할 내용 } if ( 조건 ) { 조건이 참일때 실행할 내용 } else if ( 조건 ) { 첫번째 if 에 걸리지않은 값들중 조건이 참일때 실행할 내용 } else { 위 if 나 else if 에 걸리지않은 값들을 실행할 내용 } 위 형식들을 보면 else if 가 있고 else 가 있다. else if.. 2021. 9. 20.
17.조건문(분기문) , bool형식 , 논리연산자1 - if 프로그램은 조건문과 반복문만 알면 모든프로그램을 만들수 있다. 그외 다른것들은 좀더 코드를 짧게 쓰고 읽기 쉽고 사용하기 편하게 하기위한 추가옵션이다. 실제로 이제까지 배운것에 조건과 반복문만 할줄알면 프로그램 코드를 길게 쓰긴하겠지만 모든 원하는것들을 다만들수 있다. 조건문 형식은 다음과 같다. if(조건) { 조건이 참일때 실행할내용 } else { 조건인 거짓일때 실행할내용 } { 내용 } 과 같은 형식도 처음볼텐데 이미 앞에 쓰고 있던 내용이다. 버튼클릭하면 { } 사이에 우리는 내용을 쓰고 있었다. 의미는 한단락으로 묶어주는 형태인데 첫번째 쓰여져있는내용에 종속되는 세부내용이라고 생각해도 된다. 아래와 같은 느낌이라고 생각하면 가장 좋을것같다. 단락에대한 개요 { 상세한내용 } 이내용은 거의 대.. 2021. 9. 20.
16.연산자 프로그램을 하면서 연산을 할경우는 수없이 많이 생긴다. 연산은 실제 샐황에서 사용하는 연산과 거의 비슷한 의미이다. 앞에서 문자열 더하는 공부를 했으니 + 는 이해했으리라 생각한다. 문자끼리는 문자연결을 수행하고 숫자끼리 더할경우는 실제 우리가 사용하는 + 기능을 수행한다. - 와 / 는 실생활에서 사용하는 연산과 같고 곱셈 의 경우 * 를 사용하는데 이내용도 이미 알고 있으리라 생각한다. 기본적인 연산자외에 프로그램에서는 특별한 연산자들을 추가로 사용한다. 첫째로 나머지 연산자 % 이다. 예를 들면 10을 3으로 나누면 몫이 3이고 나머지가 1 인데 이 1값을 대입해준다. int a = 10%3; 위와같은 코드는 a를 출력하면 1 이 나온다. 나머지연산자는 생각외로 여기저기 쓰이는 곳이 많아서 꼭 기억.. 2021. 9. 20.
15.주석 프로그램을 하다보면 소스코드가 계속 길어진다. 소스코드가 길어지면 나중에 내가 만든 코드를 봐도 뭘 할려고 만든기능인지 알수 없게 되버린다. 그래서 내가 뭔가를 만들면 메모해놓는 기능이 있다. 그걸 프로그램에서는 주석이라고 부른다. 실제 컴파일될때는 주석은 무시하고 컴파일하기 때문에 실제 런타임에는(프로그램이 실행될때) 주석은 아무영향도 끼치지않는다. 그래서 프로그램을 만들면 본인 뿐만 아니라 누군가 나중에 수정할때는 대비해서 주석은 필수적으로 필요하다. 그런데 실제로 노트에 글을쓸때도 노트에 너무많은 메모를 추가해놓으면 오히려 보기가 힘들어진다. 프로그램도 주석을 너무 과하게 달면 오히려 소스를 분석하거나 나중에 볼때 더 불편해진다.(물론없는거보다는 낫다) 그래서 주석도 적당히 보기좋을만큼 추가하는게 .. 2021. 9. 20.
14.이름입력후 그대로 출력 프로그램 만들기 이전장에서 전반적인 내용설명이 있었다. 충분한 연습이 필요한내용이라서 반복적으로 연습해야한다. ***숙제 : textbox에 내이름을 입력하면 "이름(쥐띠)" 같은형식으로 출력하는 프로그램을 만들어보자.(힌트:변수사용) 2021. 9. 20.
13.윈폼컨트롤 설명 그림1에서 왼쪽편에 보면 도구 상자라는 것이 있다. 이도구상자는 상단의 디자인용 탭을 눌렀을때 활성화 되는데 탭을 이동하는 방법은 앞에서 설명했다. (4장참조) 소스탭으로 도구상자를 사용할수 없는데 직접 변경하면서 확인해보기 바란다. 도구상자에 있는 컨트롤들은 모두 사용할수 있다. 그중 대표적으로 가장 많이 사용하는것이 label , textbox , button 이다. 다른 컨트롤들은 좀더 익숙해지면 그때 다시 살펴보기로 하고 3개정도만 잘다룰수 있도록해보자. Label 은 글씨를 내가 입력한대로 그대로 보여주기만 하는 컨트롤이다. 도구상자에서 label 을 드래그 해서 폼으로 옴겨보자.(폼 : 화면중앙에 컨트롤들을 올릴수있는 곳.하나의 창이라고 생각하면됨.) 드래그한 후 label 을 클릭하면 그림2.. 2021. 9. 20.
12.윈폼/콘솔프로그램 실행법 이제까지 공부한 내용을 간단히 정리해보면 빌드,변수,형변환 까지 진행했는데 상당히 중요한 개념이었다. 사실 프로그램의 거의 대부분이 이내용만 다룰수 있으면 되고 나머지는 추가적인 스킬들이다. 결국 변수들에 값넣고 다른처리들하고 출력하거나 사용자가 원하는 행동을 하는것이 프로그램이다. 프로그램은 여러 방식으로 만들수 있는데 크게보면 웹프로그램과 로컬PC 기반 , 모바일기반 프로그램으로 나뉜다. 웹은 브라우저(크롬,IE,오페라,사파리등) 에서 작동하는 프로그램을 통칭적으로 말하며 로컬PC기반 프로그램은 내PC에서 자체적으로 돌아가는 프로그램(윈도우,포토샵,메모장,그림판등) 을 대부분 가리킨다. 지금 연습하고 있는것은 로컬PC에서 돌아가는 프로그램을 만드는 연습을 하고 있는데 이또한 몇가지로 분류될수 있다. .. 2021. 9. 20.
11.형변환 앞서 많은 형태의 변수를 배웠다. 인간의 머리는 수많은 개념과 정보들을 말도안되는 속도로 처리한다. 예를 들면 "1" 이라는 숫자를 어떤형태로 써도 알수 있다. 그림1을 보면 모두 숫자 1을 가리키는것을 알수 있다. 글씨체나 문자형태나 수식이거나 모두 상관없이 동일한 것을 가리킨다는것을 사람은 순식간에 알수 있다. 하지만 컴퓨터는 프로그래밍 되어있지 않으면 해당내용을 알수 없다. 하나의 변수를 연산을 하거나 문자로 연결을 하거나 할때는 정확한 형태로 변경한 후에 해당 작업을 해줘야 한다. 그작업을 형변환(type casting) 이라고 한다. 형변환은 여러가지 형태가 있다. 첫째로 모든 형태를 문자로 변경해줄때는 .ToString() 을 붙여주면된다. 예를 들면 다음과 같다. int a = 10; str.. 2021. 9. 20.
10.변수연산 문자형 / 문자열 보간 문자형 변수를 연산을 하면 이전에 설명한것과 같이 1+1 = 창문 같은 느낌이다. 말그대로 문자를 연결하는것이다. int a = 2; int b = 3; a+b 를 출력하면 5 가나오고 string a = "2"; string b = "3"; a+b 를 출력하면 "23" 이 나온다는 의미이다. 이내용은 프로그램언어뿐만 아니라 DB를 다룰때도 동일한 개념이다. 실제 c# 에서는 그림1과 같이 문자연산을 하면 새로운 주소를 할당받아 거기에 값을 쓰기때문에 문자열 연산은 상당히 느린편이다. 그림에 대한 내용은 이미 앞에서 충분히 학습해서 이해하리라 생각한다. a의 위치에 b의 문자열을 바로 연결하면 공간을 많이 차지하지도 않고 새롭게 a+b의 공간을 할당할 일도 없고 다좋을텐데 왜 새로운 공간을 할당할까? 메.. 2021. 9. 20.
9.변수,자료형 3(char , string) 이전에 배운 숫자형외 문자형태의 자료형도 한가지가 아니다. 문자형은 크게 두가지 인데 1개문자 와 문장으로 나뉜다. 두가지를 쓸때는 각각의 형식을 지켜줘야 하는데 1개의 문자를 표현할때는 ' (홑따옴표) 로 감싸고 문장을 표현할때는 " (쌍따옴표) 로 감싼다. '가' - 1개문자 char 형식 "가나다" - 문장 string 형식 위 예제가 각각의 형식을 나타낸다. 소스로 보면 아래와 같다. char a = '가'; string b = "가나다"; char 는 하나의 문자이고 string 은 char 가 여러개 모여있는것이라고 생각하면 된다. 1개의 값만을 표현할때 char 를 사용하는데 그중 참거짓만 표현하고 싶을때는 bool 을 사용한다. bool 은 두가지 값만 넣을수 있는데 true , false.. 2021. 9. 20.
8.변수연산 숫자형 변수는 연산이 가능하다. 예를 들면 a 라는 변수에 5를 담고 b라는 변수에 10 을 담아서 a 라는 변수와 b 라는 변수를 더하면 15의 값을 얻을 수 있다. 소스코드로 보면 다음과 같다. int a = 5; int b = 10; a+b 변수 형식에 대해 이전에 빠져먹은 내용이 있어 여기서 추가설명하면 위와 같이 변수를 먼저 선언하고 값을 대입한다. 즉 (형식) (변수명) = (대입할값); 형태가 되는것이다. 만약 위 형식대로 하지않으면 에러가 발생하므로 해당에러를 분석해보는것도 좋다. 어째뜬 위와 같이 연산을 할수 있는데 변수의 타입에는 크게 두가지가 있다. 숫자형과 문자형이다. 소스코드내에서 " 없이 숫자만 1 이라고 적으면 프로그램은 숫자 1로 인식한다. 그런데 "1" 이라고 적으면 숫자가 아닌 .. 2021. 9. 20.
7.변수,자료형 2(int와 float, double) 앞장에서 변수에 대해 설명했다. 변수는 프로그램 하는 동안 계속 쓰기 때문에 꼭 내용을 이해하고 있어야 한다. 그림1은 여러 자료 형을 나타내고 있는데 내가 100이란 숫자를 변수로 사용할때 보통은 byte 형을 사용하진 않는다. 앞장에서는 크기에 맞춰서 사용하라고 해놓고 여기서는 다른말하니 당황스러울수 있다. 여기는 몇가지 이유가 있다. 첫째로 PC의 자원이 넉넉해져서 여유롭게 사용할수 있기 때문이다. ( 자원은 PC의 램,CPU처리속도,하드용량등 사용가능한 모든것을 말한다. ) PC 는 계속 가파르게 발전하고 있는데 과거에 비해 하드용량이나 메모리용량등이 비교할수 없을만큼 올라갔다. 내가 최초로 사용하던 PC는 하드가 무려 21메가 였는데 그때는 그용량도 넉넉하다고 느꼈었다. 램은 정확히 기억나지 않.. 2021. 9. 20.