본문 바로가기

교육

(60)
[C# 때려잡기] C# 강의 18.접근 지정자 1 접근 한정자클래스내의 변수나 함수에 대한 접근 범위를 설정한다. (접근 제한자, 접근 지정자 라고도 한다) 요것이 무슨의미나 하믄 이전에 만든 캐릭터 클래스를 살펴보자 using System; namespace ConsoleApp1{ class Character { public int hp; public int speed; public string name; public void Move(int dir) { // } public void Jump() { // } public void Hit() { // } } class Program { static void Main(string[] args) { Character mario = new Character(); mario.name = "슈퍼마리오"; m..
[C# 때려잡기] C# 강의 13. ref 와 out 함수는return 을 만나면 종료하기 때문에 일반적으로 복수개의 값들을 리턴할수가 없다. 함수를 호출한 곳에 두개 이상의 값을 넘겨주고 싶을때는 어떻게 할까? 1. ref using System; namespace ConsoleApp1{ class Program { static void Test(ref int x, ref int y) { x = 10; y = 20; } static void Main(string[] args) { int x = 0, y = 0; Test(ref x, ref y); Console.WriteLine("{0},{1}", x, y); } }} 다음과 같이 ref키워드를 통하여 해당 변수에 값을 대입하면 결국 해당함수를 사용한 곳에서는 x,y 두개의 값을 받았다고 볼수있다.이렇게 ..
[C# 때려잡기] C# 강의 12. 참조형식 자료형 길이가 2인 배열에서 첫번째와 두번째요소를 바꾸는 함수를 짜보자이때 ref키워드를 쓰지않고 그냥 해보자 using System; namespace HelloWorld{ class Program { static void ChangeArr(int[] arr) { int temp = arr[0]; arr[0] = arr[1]; arr[1] = temp; } static void Main(string[] args) { int[] arr = { 10, 5 }; ChangeArr(arr); Console.WriteLine("arr0:{0},arr1:{1}", arr[0], arr[1]); } }} ref키워드를 사용하지않고 값에의한 전달을 하였는데 배열내부의 값이 변경되었다. 1. 참조 형식 이는 C#에서 배열이 ..
[C# 때려잡기] C# 강의 9. 메소드 (함수) 프로그램을 만들다보면 중복해서 사용되는 기능들이 나오게되고이걸 죄다 복붙을 통하여 해결하다보면 코드가 지저분해지고 길어지게 된다. C#에서는 이러한 기능을 묶어 재사용할수있도록 일종의 모듈화가 가능한데그것이 바로 메소드(함수)이다C++ 강의자료 복붙이라 이후부터는 함수라 칭하도록 하겠다. 1.함수란 특정한 기능을 수행하도록 나눠진 작업 단위, 수학에서의 함수와 비슷한 의미를 가진다. C# 에서 함수는 다음과 같은 구조를 가진다 (){ return ;} 리턴타입은 돌려주는 리턴값이 어떤 변수 타입인지를 의미하고매개변수느느 해당 함수에 넘겨줄 값을 의미한다. 위 구조대로 들어온 값에 1을 더하는 기능을 하는 함수를 만들어보면 int plusOne(int x) { int y = x + 1; return y; ..
[C# 때려잡기] C# 강의 8. 배열 foreach 여러 개의 변수를 한번에 선언하고 싶거나 연관성있는 여러개의 변수를 하나로 사용하고 싶을때 배열을 사용한다.만약 학생30명을 관리하는 프로그램을 만들기위하여 변수를 선언한다면 int stuID1;int stuID2;... int stuID30; 이런식으로 변수 30개를 만들수는 없으므로 사용하는것이 배열이다 1. 배열의 선언과 사용배열은 같은 타입의 연속된 공간이다. 예시를 보는것이 쉬을듯하다 using System; namespace ConsoleApp1{ class Program { static void Main(string[] args) { int[] stuID = {2018235151,2018235156,2018235169 }; for (int i = 0; i int[,] coordinate; 이..
[C# 때려잡기] C# 강의 7. 반복문 프로그램을 만들다보면 같은 행동을 여러번 하거나 규칙에맞게 여러번 수행해야될 상황이 있을수 잇다. 예를 들어 1부터 10까지의 합을 구하고싶다면using System; namespace ConsoleApp1{ class Program { static void Main(string[] args) { int number = 0; number += 1; number += 2; number += 3; number += 4; number += 5; number += 6; number += 7; number += 8; number += 9; number += 10; } }} 만약 100까지 합을 구하고싶다면? using System; namespace ConsoleApp1{ class Program { static..
[C# 때려잡기] C# 강의 6. 분기문 지금까지는 아주기본적인 c#문법을 배워화면 출력과 입력을 할 수 있게 되었다그러나 이것만으로는 아직 어떠한 기능을 하는 프로그램을 제작 할 수 없다.좀더 기능을 가진 프로그램을 제작하기위해 필요한 두가지 기능이 분기문과 반복문인다이번강의에서는 그중 분기문을 학습하도록 하겠다. 분기문이란 어느 조건에 따라 프로그램의 실행 내용이 분기되는것을 의미한다.c#에서의 대표적인 분기문중 하나가 if문이다. 1. if문 if문은 statement의 내용이 참인가 거짓인가에 따라 참이면 내용을 실행하고 그렇지않으면 해당 내용을 스킵하고 넘어간다 예를 들어서 숫자를 입력하면 해당 숫자가 짝수인지 확인하는 프로그램을 작성해보자 일단 숫자를 입력받을것이다int i = Int32.Parse(Console.ReadLine())..
[C# 때려잡기] C# 강의 5. null 과 Nullable 1. nullC#에는 null값이라는게 존재한다.C/C++ 하는 사람은 익숙한 그거다C#에는 포인터가 없어서 어쩌고..해서null이란 암것도 아닌값이다 (정의되지 않은 값) 그냥 그렇다 암것도 아닌값은 null이다 예를 들어서 using System; namespace HelloWorld{ class Program { static void Main(string[] args) { string s = ""; string ns = null; Console.WriteLine(s == ns); } }} 보면 s와 ns 는 같지 않다.s는 텅텅 빈 스트링이고ns는 암것도 아닌값이다. 2. nullable위 string 처럼 요 암것도 아닌값을 가질수있는 넘들을 nullable라고 한다.대부분의 기본 자료형들 int..