반응형

전체 글 56

[C#문법] 객체지향(Object Oriented Programming)이란

[ 개요 ]C#은 객체지향 프로그래밍 언어(Object Oriented Programming)라는 말은 많이 들어봤을 것이다.객체지향은 말 그대도 객체를 이용하는 프로그래밍 언어라는 뜻이다.프로그래밍에서 객체(Object), 클래스(Class), 인스턴스(Instance)라는 용어가 자주 언급되는데 이것들이 무엇인지 알아보도록 하자[ 객체(Object) ]기본적인 정의는 물리적이나 추상적으로 존재하는 사물이다.프로그래밍에서는 클래스를 통해 생성한 인스턴스를 의미한다.위키피디아에서는 “클래스에서 정의한 것을 토대로 메모리(실제 저장 공간)에 할당된 것으로 프로그램에서 사용되는 데이터 또는 식별자에 의해 참조되는 공간”라고 말한다.[ 클래스(Class) ]객체를 생성하기 위해 만들어놓은 설계도이다.프로그래밍..

C#문법 2024.10.04

[C#문법] Part11 구조체(struct)

[ 개요 ]객체지향 프로그래밍이란 객체(object)'라는 기본 단위로 나누고 이들의 상호 작용으로 서술하는 방식이다. 객체는 변수와 매소드(함수)로 구성이 되어 있다.자바, C# 등과 같은 언어는 객체지향 언어이다. C언어와 같은 절차지향 언어에서는 클래스라는 개념이 없어서 구조체를 사용하였다. 저자는 구조체를 먼저 이해하면 클래스라는 개념도 이해하기 쉬울 거라 생각이 들어 이번 파트에는 구조체를 먼저 짚고 넘어가고자 한다.[ 구조체란 ]필요한 변수들을 모아서 새로운 데이터형처럼 사용하는 것을 구조체라고 한다.앞서 배운 자료형들(int, float, string 등)을 여러 개를 활용해서 구조체를 만들 수 있는 것이다.[ 활용 예시 ]3차원 평면상의 위치를 나타낼 때 x, y, z 축 좌표값을 이용한다..

C#문법 2024.10.04

[C#문법] Part10 지역변수와 전역변수(Local variable, Grobal variable)

[ 지역변수 ]하나의 함수 안에서만 유효한 변수를 지역 변수라고 한다.자신을 사용하는 함수안에서 선언하며, 그 함수 내에서만 사용이 가능하다. [ 전역변수 ]같은 클래스 범위 안의 모든 연산에서 사용할 수 있는 변수를 전역변수라고 한다.모든 함수의 밖에서 선언할 수 있고 여러 함수에서 사용할 수 있다.  [ 예제 ]class Program{ static string name = "Grobal variable"; static void Main(string[] args) { NamePrint(); Console.WriteLine("두번째 출력: " + name); } static void NamePrint() { string name = ..

C#문법 2023.03.15

[C#문법] Part9-3 함수: params

[ params ]지금까지 봐왔던 함수들은 받을 수 있는 인자의 수가 정해져있었다.만약에 인자의 수를 미리 예상하거나 정할 수 없는 경우에는 어떻게 해야 할까?C#에서는 함수가 인자를 가변적으로 받을 수 있게 params 문법이 있다.    params 자료형[] 배열명 사용법은 위와 같다.※ 참고로 params는 1차원 배열에서 쓸 수 있다class Program{ static void Main(string[] args) { Console.WriteLine("Sum1: " + ArrSum(1,2,3,4,5)); Console.WriteLine("Sum2: " + ArrSum(1,2,3,4,5,6,7,8,9,10)); } static int ArrSum(pa..

C#문법 2023.03.15

[C#문법] Part9-2 함수: 함수호출방법(Call By Value, Call By Reference, Call By Result)

[ 개요 ]함수를 호출하는 방법에도 여러 가지가 존재한다.어떤 방법으로 함수를 호출했느냐에 따라 전혀 다른 결과 값이 반환되므로 각각의 차이점을 알아야한다.[ 값에 의한 호출 ]값에 의한 호출이란 함수를 호출할 때 필요한 매개변수의 값을 넘겨주는 방식이다.class Program{ static void Main(string[] args) { Console.WriteLine("CallByValue 출력: " + CallByValue(1)); } static int CallByValue(int a) { return a; }}CallByValue() 함수에 값을 넘기고 출력이 됨을 확인할 수 있다.[ 참조에 의한 호출 ]참조에 의한 호출은 함수에 전달되..

C#문법 2023.03.15

[프로그래머스] C# 문자열 나누기

static int solution(string s) { int answer = 0; int firstCount = 0; int otherCount = 0; char first; first = s[0]; int i; //주어진 문자열 순회 for (i = 0; i < s.Length - 1; i++) { if (first == s[i]) //첫 글자와 같으면 firstCount +1 firstCount++; else //첫 글자와 다르면 otherCount +1 otherCount++; if (firstCount == otherCount) // 두 개의 카운터가 같을 경우 { firstCount = 0; otherCount = 0; answer++; first = s[i + 1]; //다음 글자를 첫 글..

Programmers 2023.03.03

[C#문법] Part9-1 함수

[ 개요 ]프로그래밍을 하다보면 중복해서 사용하는 기능들이 나온다.이 부분을 복사해서 붙여놓는식으로 코드를 짜다보면 굉장히 길어지고 지저분해진다.C#을 포함한 프로그래밍 언어에서는 ‘함수(또는 메소드)’를 통해 반복되는 기능을 묶어서 재사용할 수 있도록 모듈화 하였다.이를 통해 중복코드의 사용을 줄이고 재활용성을 높이며 유지보수가 편해진다.[ 개념 ]함수는 특정기능을 수행하도록 나눠진 작업 단위이다.혹은 하나의 목적을 구현하기 위한 명령문들의 집합이라고 말하기도 한다. 반환형 함수명(자료형1 매개변수1, 자료형2 매개변수2 ....){//코드return 반환값;} 함수는 입력과 출력으로 이루어져있다.괄호()안에 입력받은 값을 저장할 변수를 선언한다.입력하는 값의 자료형과 입력 받을 매개변수의 자료형은 동..

C#문법 2023.02.15

[C#문법] Part8-5 반복문: break문, continue문

[ 개요 ]반복문을 돌다가 원하는 요소에서 반복문을 탈출하거나 반대로 원하지 않는 요소에서 탈출해야 할 때가 있다.이번 시간에는 조건문과 반복문을 이용하여 break문과 continue문에 대해 알아보자.[ 개념 ]조건문과 반복문을 이용해서 탈출하려면 break문을 사용하면 된다.저번 시간에 switch문을 쓰면서 break문을 사용한 적이 있다.static void Main(string[] args){ int[] arr = new int[10] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; foreach (int item in arr) { if (item == 5) { Console.WriteLine("탈출"); ..

C#문법 2023.02.03

[C#문법] Part8-4 반복문: foreach문(배열 응용)

[ 개요 ]foreach문은 언뜻 보면 for문과 비슷하게 생겼다.실제로 foreach문은 for문과 동작 방식이 비슷한데 for문을 더 쉽게 사용하도록 나온 문법이다.이번 시간에는 반복문의 응용과 foreach문의 사용법에 대해서 알아본다.[ 개념 ]이전에 배운 반복문들은 조건식을 통해 반복 문의 끝을 정해주었다.foreach (element in iterable-item){ // 코드}그러나 foreach문은 인자로 들어온 배열같이 여러 데이터가 있는 자료형(iterable-item)의 요소(element)들을 순서대로 접근할 수 있도록 한다.다른 반복문을 통해서도 배열의 요소를 출력할 수 있지만 인덱스가 배열의 크기를 넘는다면 오류가 날 수 있기에 사용이 조심스럽지만 foreach문은 안전하게 ..

C#문법 2023.02.03

[C#문법] Part8-3 반복문: for문

[ 개념 ]for문도 while문과 같이 해당 코드를 반복할 수 있다.그러나 for문이 while문에 비해 가독성이 좋아서 for문을 주로 사용한다.먼저 초기화식이 실행된다.그리고 조건식이 조건을 만족하는지 판단하며 true이면 실행 문장을 실행한다.실행 문장이 끝나면 반복문의 한 사이클이 끝나는데 이때 증감식을 실행시킨 후, 다시 조건식으로 판단한다.static void Main(string[] args){ for (int i = 0; i 초기화식에서는 i라는 변수를 선언하고 0으로 초기화하였다.조건식에서는 i가 10미만일 때까지 반복문을 반복하게 하였다.증감식에서는 i를 1씩 증가시켰다.for문을 통해 i를 1씩 증가시켜서 i를 10이 되기 전까지 계속 출력함을 확인할 수 있다.static vo..

C#문법 2023.02.03

[C#문법] Part8-2 반복문: do-while문

[ 개념 ]do-while은 while과 비슷한 반복문이다.그러나 do-while은 조건에 관계없이 한번 코드를 실행하고 그 이후의 조건식을 통해 만족하면 코드를 반복한다.do{    //코드} while(조건식)먼저 do를 선언해 주고 코드 블록 안에 반복하고자 하는 코드를 넣어준다.코드 블록을 닫고 while과 조건식을 선언해 주면 된다.static void Main(string[] args){ string str; do { Console.Write("반복할까요?(Y/N):"); str = Console.ReadLine(); } while (str == "Y");}먼저 do 안에 있는 코드를 한번 실행한다.Y를 입력할 때마다 while 문의 조건식에..

C#문법 2023.02.03

[C#문법] Part8-1 반복문: while문

[ 개요 ]컴퓨터는 수많은 일을 자동화하여 인류에게 편리한 삶을 제공하였다.이것을 가능하게 만든 건 컴퓨터의 조건문과 반복문이 큰 역할을 하였다고 필자는 생각한다.입력이 들어오면 조건에 맞는 동작을 실행하며,그 일을 반복하는 것이 컴퓨터의 큰 능력이라고 생각한다.그렇기에 프로그래머는 컴퓨터의 조건문과 반복문을 잘 활용하여 문제를 해결해야 한다. 이전에 배운 조건문은 조건식이 만족하면 해당 코드를 한번 실행하였다.반복문도 조건식을 갖는데 조건식이 만족하다면 여러 번 실행할 수 있다.이번 파트에서는 반복문인 while, do-while, for, foreach에 대해 알아볼 것이다.[ 개념 ]while(조건식){        //코드} while문의 조건식이 참이라면 코드 블럭 안에 있는 코드를 반복해서 실..

C#문법 2023.02.03

[C#문법] Part7-2 조건문: switch 조건문

[ switch문 ]if문에 비해 가독성이 좋은 조건문이 있는데 바로 switch문이다.switch(값){case 조건1:           //코드           break;case 조건2:           //코드           break;default:           //코드}switch의 값이 case의 조건문과 비교하였을때 맞다면 해당 코드를 실행한다. case문은 조건을 제시한 다음 콜론(:)을 붙여야하면 코드안에 break를 붙여야한다.case문의 갯수는 상관없다. break명령어는 switch문의 종료를 의미한다. default는 case문들의 조건들이 해당 안된다면 실행된다.default는 if문의 else문과 같은 역할을 한다.default와 else는 필수요소가 아니므로 ..

C#문법 2023.01.31

[C#문법] Part7-1 조건문: if 조건문

[ 개요 ]조건문이란 해당 조건이 참인지 거짓인지 판단하여 참이면 해당코드를 실행시키는 프로그래밍 문법이다.if문과 switch문이 대표적인 조건문이다.이번 시간에는 if문에 대해 알아보자.[ if문 ]if(조건문){           //코드}else if(조건문){//코드}else{//코드}if문은 괄호 ()안의 조건문이 참인 경우에만 주어진 코드 블럭을 실행한다.조건이 거짓이라면 해당 코드를 실행되지 않는다. 괄호 ()안에는 이전에 배운 비교연산자 등이 조건문으로 사용될 수 있다.if문의 시작과 끝에는 중괄호{}로 감싸는데 중괄호 안에 조건문이 참일 경우 실행시킬 코드가 들어간다. else if문은 if문의 조건문이 거짓일 경우 else if문의 조건문을 확인하여 참일 경우 해당 코드 블럭을 실행한..

C#문법 2023.01.31

[C#문법] Part6 배열

[ 개념 ]지금까지 자료형으로 변수를 선언하는 것을 알아보았다.이렇게 선언한 변수는 하나의 데이터만을 저장할 수 있다.그런데 저장하려는 데이터가 많으면 일일히 변수를 선언해야하는 번거로움이 있다.그렇다면 하나의 변수에 여러 데이터를 저장할 수 있는 방법이 있을까?바로 배열이 있다.배열은 여러 데이터를 저장할 수 있는 자료형이다.            자료형[] 변수명 = new 자료형[크기]; 일반 변수와 같이 선언하는데 자료형 뒤에 []을 붙여줘야한다.변수명 뒤에 [] 안에는 숫자를 삽입할 수 있는데 이를 인덱스라고한다.인덱스는 배열의 공간을 의미한다. new는 인스턴스를 생성하는 명령어로써 메모리에 할당하게 된다.new 명령어는 나중에 설명하도록 하겠다.그리고 해당 자료형으로 원하는 크기만큼 선언해주면..

C#문법 2023.01.30
728x90