안녕하세요 유랑입니다. 오늘도 C# 예제를 통해서 복습하는 시간을 가지겠습니다.시작하겠습니다. 1. 예제로 알아보기 1-1) 문제31 - 오버로딩 * 배열 m을 enum SortType에 따라 증가순으로 정렬하거나 감소순으로 정렬하는 프로그램이다.* 오버로딩을 이용해서 조건식을 만들어 보자. 1-2) 문제32 - 오브젝트 클래스 * 오브젝트를 상속받아 GetType()과 GetHashCode() 메서드를 사용하는 프로그램이다.* 오브젝트 클랙스를 이용해서 조건식을 만들어 보자. 1-3) 문제33 - is 키워드 * 기본 타입은 object로 박싱된다. obj1의 원래 타입을 알고 싶다면 is를 이용하면 된다.* is를 이용해서 조건식을 만들어 보자. 1-4) 문제34 - as 키워드 * as는 참조 타입..
안녕하세요 유랑입니다. 이번 시간에는 프로퍼티에 대해서 배워보겠습니다.public의 편의성과 유혹은 코드를 작성할 때마다 계속 일어납니다.하지만 은닉성에서는 좋지 않습니다.그런 관점에서 프로퍼티에 대해서 배워보겠습니다. 1. 프로퍼티 1-1) 메소드보다 프로퍼티 프로퍼티는 은닉성과 편의성을 골고루 갖춘 존재입니다.프로퍼티 선언 문법에는 get, set이라는 접근자고 존재하며,get 접근자는 필드로부터 값을 읽어오고set 접근자는 필드에 값을 할당합니다. 1-2) 자동 구현 프로퍼티 앞에 서는 get과 set 접근자를 직접 구현했지만,자동 구현 기능이 있습니다.컴파일러가 보이지 않는 곳에서 자동으로 구현해 주는 방식인데요. 정말 좋은 기능이네요. 1-3) 프로퍼티와 생성자 객체를 생성할 때도 물론 프로퍼티..
안녕하세요 유랑입니다. 이번 시간에는 인터페이스에 대해서 배워보겠습니다.클래스도 아닌 것이 클래스 형태와 유사한 그런 느낌이네요. 1. 인터페이스와 추상 클래스 1-1) 인터페이스는 약속 인터페이스는 자신으로부터 파생될 클래스가 반드시 자신의 메소드를 구현하도록합니다.게다가 이 메소드들은 public 한정자로 수식해야 하지요.코드를 통해서 알아보겠습니다. 콘솔창에서 작성한 내용은 txt 파일로 생성되어 다음 위치에 저장되게 됩니다. 1-2) 인터페이스를 상속하는 인터페이스 인터페이스를 상속할 수 있는 것은 클래스뿐만이 아니라 구조체나 인터페이스도 가능합니다.기존의 인터페이스에 새로운 기능을 추가한 인터페이스를 만들고 싶을 때 사용됩니다. 1-3) 여러 개의 인터페이스 클래스는 여러 클래스를 한꺼번에 상속..
안녕하세요 유랑입니다. 지난 시간에 이어서 클래스에 대해서 알아보겠습니다.오버라이딩, 구조체 등 다양한 기능들에 대해 알아볼게요.시작하겠습니다. 1. 클래스 1-1) 오버라이딩과 다형성 객체는 다양한 형태로 존재할 수 있습니다.마치 부모와 자식이 조금 다르듯, 상속받은 코드에 기능들을 추가할 수 있어요.그러기 위해서는 부모 클래스에는 virtual 키워드와 자식 클래스에는 override 키워드가 필요합니다.물론 public으로 설정되어 있어야 하구요. private는 컴파일러가 인식하지 못합니다. 1-2) 메소드 숨기기 앞에서 virtual을 통해서 오버라이딩을 재정의 하였습니다.재정의 하고싶지는 않지만, 동일 이름이라 다른걸 보여주고 싶을 때도 있습니다.이럴 때 쓰는게 메소드 숨기기 기능입니다.메소드..
안녕하세요 유랑입니다. 이번 시간에는 C#에서 가장 핵심이라고 할 수 있는 클래스에 대해서 배워보겠습니다.객체지향언어에 꼭 나오며, 지난 시간에 조금씩 써왔었습니다. 1. 클래스 1-1) 클래스의 선언과 객체의 생성 클래스를 이야기하려면, 객체에 대해서 알아야 합니다.객체는 자동차, 파일, 연필 등 모든 물체를 뜻합니다.우리는 이런 객체의 특징들을 정리해 코드화 하여야 합니다.즉, 클래스에 객체의 색깔과 기능 등을 정리해 도면도를 이용하듯 생성이 가능하답니다.설명이 너무 길었군요. 코드를 통해서 알아보겠습니다. 고양이라는 객체를 Class로 정의하여, Cat kitty = new Cat();의 형태로 객체를 만들어낸답니다.생성하고 각각의 색깔과 이름을 정의해 줬어요. 1-2) 생성자와 종료자 객체는 생성..
안녕하세요 유랑입니다. 오늘도 C# 예제를 통해서 복습하는 시간을 가지겠습니다.시작하겠습니다. 1. 예제로 알아보기 1-1) 문제21 - 쉬프트 연산자 * 숫자를 입력하면 8진수와 16진수로 변환시켜주는 프로그램이다.* 쉬프트 연산자를 이용해서 조건식을 만들어 보자. 1-2) 문제22 - while 문 * 숫자를 입력하면 1이 되기 전까지 짝수이면 n/2, 홀수이면 n*3 +1을 해주는 프로그램이다.* while 문을 이용하여 해당 조건식을 만들어 보자. 1-3) 문제23 - do ~ while 문 * 0 ~ 100까지 각 정수마다 자릿수의 합을 구해주는 프로그램이다.* do ~ while문을 이용하여 조건식을 만들어 보자. 1-4) 문제24 - 1차원 배열 * 숫자들을 작은 수부터 순서대로 정렬해주는 ..
안녕하세요 유랑입니다. 오늘도 C# 예제를 통해서 복습하는 시간을 가지겠습니다.시작하겠습니다. 1. 예제로 알아보기 1-1) 문제11 - 네임스페이스 * 다른 네임스페이스를 갖는 클래스를 호출하여 사용하자.* 약수를 구하는 프로그램이다.* using을 사용하여 namespace를 생략하자.* 총 스크립트는 2개이다. 1-2) 문제12 - 스태틱 메서드 * 완전수를 출력하는 프로그램이다.* static 키워드를 붙이면 어떻게 호출 되는지 알아보자.* 완전수란 자기 자신을 제외한 약수들의 합이 자기 자신이 되는 양의 정수이다. 1-3) 문제13 - break * 2부터 1000 사이의 소수를 출력하는 프로그램이다.* break를 통해서 순환문에서 빠져나올 수 있다. 1-4) 문제14 - continue * ..
안녕하세요 유랑입니다. C# 예제를 통해서 복습하는 시간을 가져볼까 합니다.초반에는 간단한 문제들로 시작하여 점차 어려운 문제들을 통해 진행하겠습니다.시작하겠습니다. 1. 예제로 알아보기 1-1) 문제1 - 변수 * 변수는 데이터를 저장하는 임시 저장 장소이다.* 변수는 몇 번이고 새로 대입 가능하다.* const를 붙여 상수로 만들면 대입을 할 수 없다. 1-2) 문제2 - 형 변환 * 정수는 int, 실수는 double, 문자열은 string에 대입* Console.ReadLine() 메서드는 키보드로 입력받은 문자열을 리턴한다.* int.Parse()는 문자열을 int타입으로 변환* double.Parse()는 문자열을 double타입으로 변환 1-3) 문제3 - 산술 연산자 * 산술 연산자는 +(..
안녕하세요 유랑입니다. 1. 메소드 이번 시간에는 메소드에 대해 진행하겠습니다.C#과 Java처럼 객체지향언어에서 나오는 단어입니다. 1-1) 메소드란 메소드는 객체 지향 프로그래밍 언어에서 사용되는 용어로, 코드를 하나의 이름 아래 묶은 것이라고 생각하시면 됩니다.평소에 쓰던 Class는 메소드를 포함하고 있는데, 다음 강의 때 자세하게 배우겠습니다.코드를 통해서 알아보겠습니다. 이번 에는 클래스를 두개 만들고 Calculator 클래스 안에 두 개의 메소드를 넣어 보았습니다.Main문에서 클래스 안에있는 Plus, Minus 메소드를 실행하는 코드는 다음과 같습니다. 1-2) return return 문은 점프문의 한 종류로서 언제든지 메소드 중간에 호출되어 메소드를 종결시키고 프로그램의 흐름을 호출..
안녕하세요 유랑입니다. 지난 시간까지는 연산자에 대해 알아보았습니다.이번 시간에는 연산자들을 이용하여 분기문, 반복문, 점프문을 학습해 보겠습니다.시작하겠습니다. 1. 분기문 프로그램을 만드시다 보면 정해진 흐름이 있고, 이에 맞는 문법들을 사용해야 합니다.이 때 사용하는 것들이 분기문, 반복문, 점프문 등이 있습니다.그 중에서 분기문은 조건에 따라 결과값을 출력해 주는 방식입니다. 1-1) if, else, 그리고 else if문 사용하기 if문은 해당 조건문이 주어졌을때 참이면 해당 결과값을 출력하고, 아니면 else if나 else로 넘어가지는 조건문이다. 코드를 통해서 알아보도록 하자. 프로그램은 위에서 부터 밑으로 순차적으로 실행되기 때문에 흐름에 따른 조건문 생성이 중요하다. 1-2) if 문..
안녕하세요 유랑입니다. 지난시간에는 문자열에 대해 배워보았습니다.쓰지 않은 메소드들과 용어라 어려우신점이 많으셨을텐데, 자주 나오는 내용이니 틈틈히 복습하셨으면 좋겠습니다.오늘은 데이터를 다룰 때 필요한 덧셈, 뺄셈, 곱셈, 나눗셈 등 산술 연산자부터 시작하여,AND, OR 논리 연산자 등 까지 다양한 연산자에 대해 배워보겠습니다. 1. 연산자 int형식의 변수 result에 7이라는 값을 넣어주고 싶으면,int result = 7; 이라는 방법도 있겠지만, int result = 3 + 4; 라는 방법도 존재합니다.여기서 +는 산술 연산자로서 여러분이 초등학교때부터 배우신 수학과 유사합니다.그밖에도 다양한 연산자들이 존재하는데 예제를 통해 알아보겠습니다. 1-1) 산술 연산자 산술 연산자는 수치 형식의..
안녕하세요 유랑입니다. 지난시간에는 데이터 형식에 대해 배워보았습니다.상수, 열거형, 참조, 정수, 문자 등 처음에 하기에는 방대한 양을 담고있습니다.너무 부담가지시지 마시고 코드를 작성하면서 계속 반복학습해 나가면 깨달음을 얻으실거에요.저도 부족하기에 마찬가지로 반복학습중입니다.서론이 길었네요 시작해 보겠습니다. 1. 문자열 1-1) 문자열 안에서 찾아보기 문장이 길어지면 그 안에서 문장을 찾기란 점점 어려워 집니다.C#에서는 해당 문자열을 찾아주는 메소드가 존재하는데 코드를 작성하여 알아봅시다. 해당 메소드를 사용해보면 문자열의 위치를 0부터 표현해 주거나 유무를 표현해줍니다.문자와 문자열을 읽을때는 차이점이 있으니 코드를 수정해 보면서 알아보세요. 1-2) 문자열 변형하기 이번에는 문자열을 바꿔보는..