본문 바로가기

분류 전체보기

(196)
[ 이것이 C#이다 ] Chapter 08 . 인터페이스와 추상 클래스 [ 학습 흐름 ] [ 학습 흐름 ] 인터페이스의 선언 인터페이스를 상속하는 인터페이스 여러 인터페이스 . 한꺼번에 상속하기 추상 클래스 [ 인터페이스의 선언 ] [ 인터페이스 ] interface 인터페이스_이름 { 반환형식 메소드이름1(매개변수 목록); 반환형식 메소드이름2(매개변수 목록); 반환형식 메소드이름3(매개변수 목록); 반환형식 메소드이름4(매개변수 목록); } - 클래스와 비슷하지만 메소드,이벤트,인덱서,프로퍼티만을 가질 수 있다 . 그 마저도 구현부가 없다 . - 인터페이스는 접근 제한자를 사용 할 수 없고 모든것이 public 으로 선언된다 . - 인스턴스도 만들 수 없다 . [ 인터페이스를 상속받는 클래스 ] class ConsoleLogger:ILogger { public void ..
[ 이것이 C#이다 ] Chapter 07 . 클래스 [ 학습 흐름 ] [ 학습 흐름 ] 객체지향 프로그래밍과 클래스 클래스의 선언과 객체의 생성 정적 필드와 메소드 객체 복사하기 this 키워드 접근 한정자로 공개 수준 결정하기 상속으로 코드 재활용하기 기반 클래스와 파생 클래스 사이의 형식 반환 오버라이딩과 다형성 메소드 숨기기 오버라이딩 봉인하기 중첩 클래스와 분할 클래스 확장 메소드 구조체 [ 객체지향 프로그래밍과 클래스 ] [ 객체 지향 프로그래밍 ] 객체 지향 프로그래밍 - 코드 내 모든것을 객체로 표현하려는 프로그래밍 패러다임 . - OOP (Object Oriented Programming )이라고도 함. 객체 - 세상의 모든것을 지칭 - 객체는 속성과 기능 두가지 특징이 있다 . - C#코드에서는 속성은 데이터 , 기능은 메소드로 표현한다 ..
[ 이것이 C#이다 ] Chapter 06 . 메소드로 코드 간추리기 [ 학습 흐름 ] [ 학습 흐름 ] 메소드 알아보기 return 매개변수와 인자 참조에 의한 매개변수 전달 출력 전용 매개변수 메소드 오버로딩 가변 개수의 인수 명명된 인수 선택적 인수 [ 메소드란 ] [ 메소드 ] 메소드 - 일련의 코드를 하나로 묶은 것 . C/C++에서는 함수 / 파스칼에서는 프로시저 - 메소드가 함수 , 프로시저 , 서브루틴과 다른점은 클래스 내부에 존재한다는 점 . class 클래스 이름 { [한정자] [반환현식] [메소드 이름] ( 매개변수 목록 ) { //실행 코드 //실행 코드 return 메소드 결과; } } 매개 변수와 반환 형식 - 매개변수는 제품을 만들기 위해 기계(메서드)에 넣는 재료 - 매서드의 반환형식은 제품의 규격 메소드의 호출 과정 - 호출자가 메소드를 호출..
[ 이것이 C#이다 ] Chapter 05 . 코드의 흐름 제어하기 [ 학습 흐름 ] [ 학습 흐름] 분기문 if , else 그리고 else if if 문 중첩해서 사용하기 switch 반복문 while do while for 중첩 for foreach for 또는 while을 이용한 무한 반복 코드 점프문 continue goto return 과 throw [ 분기문 ] [ 분기문 ] - 프로그램의 흐름을 조건에 따라 여러 갈래로 나누는 흐름 제어 구문 . - if문 switch문 두 종류가 있다 . [ if , else , else if ] - 한번에 단 하나의 조건을 평가한다 . using System; namespace AssignmentOperator; class MainApp { //프로그램 실행이 시작되는 곳 static void Main(string[] ..
[ 이것이 C#이다 ] Chapter 04 . 데이터를 가공하는 연산자 [ 학습 흐름 ] [ 학습 흐름] C#에서 제공하는 연산자 둘러보기 산술 연산자 증가 연산자와 감소 연산자 문자열 결합 연산자 관계 연산자 논리 연산자 조건 연산자 비트 연산자 할당 연산자 연산자의 우선순위 [ C#에서 제공하는 연산자 둘러보기 ] [ 연산자 ] 분류 연산자 산술 연산자 + , - , * , / , % 증가/감소 연산자 ++ , -- 관계 연산자 , == , != , = 논리 연산자 && , || , ! 조건 연산자 ? : null 조건부 연산자 ?. , ? [ ] 비트 연산자 > , & , | , ^ , ~ 할당 연산자 = , += , -= , *= , \= , &= , &= , |= , ^= , = null 병합 연산자 ?? - 대부분은 각각 특정 형식에 대해서만 사용 가능..
[ 이것이 C#이다 ] Chapter 03 . 데이터 보관하기 [ 학습 흐름 ] [ 학습 흐름] 다양한 데이터의 종류 변수 값 형식과 참조 형식 기본 데이터 형식 상수와 열거 형식 Nullable 형식 var 공용 형식 시스템 문자열 다루기 [ 다양한 데이터의 종류 ] [ 데이터 형식 ] 데이터 형식 - C#이 제공하는 다양한 데이터 형식은 기본데이터 형식,상수,열거형식등이 근간이 된다 . 복합 데이터 형식 - 기본 데이터 형식을 부품 삼아 구성됨 . - 구조체, 클래스, 배열등이 있다 . 값 형식 - 참조 형식 - 데이터 형식은 "기본 데이터 형식 / 복합 데이터 형식"으로 나눔과 동시에 "값 형식 / 참조 형식"으로 분류가 가능하다 . [ 변수 ] [ 변수 ] 변수 - 코드에서 보자면 "값을 대입시켜 변화시킬 수 있는 요소" - 메모리에서 보자면 "데이터를 담는..
[ 이것이 C#이다 ] Chapter 02 . 처음 만드는 C# 프로그램 [ 학습 흐름 ] [ 학습 흐름] Hello World ! 첫번째 프로그램 뜯어보기 using System; using static System.Console; namespace Hello {} class MainApp {} //프로그램 실행이 시작되는 곳 static void Main(string[]args){} if(args.Length==0){} CLR에 대하여 [ Hello, World! ] [ 간단한 프로그램 만들어보기 ] Visual Studio 실행하기 - 시작메뉴에서 Visual Studio 2022를 찾아 실행 새 프로젝트 만들기 - 새 프로젝트 만들기 - 콘솔앱 - 생성할 위치 지정 - "솔루션 및 프로젝트를 같은 디렉터리에 배치 / 최상위 문 사용 안함" 옵션 활성화후 생성 전역 us..
[ 이것이 C#이다 ] Chapter 01 . 프로그래밍을 시작합시다 [ 학습 흐름 ] [ 학습 흐름] 컴퓨터의 시작 , 프로그래밍의 시작 포트란의 시작 초등학생도 프로그래밍 할 수 있게 한 베이직 유닉스의,유닉스에 의한,유닉스를 위한 C C+1 == C++ 더 나은 세상을 위한 C# 비주얼 스튜디오 설치하기 [ 프로그래밍 언어의 역사 ] [ 1 . 컴퓨터의 시작 , 프로그래밍의 시작 ] 애니악 - 최초의 컴퓨터 - 애니악의 전기배선 작업은 일종의 프로그래밍 애드박 - 존 폰 노이만에 의해 탄생 - 중앙처리장치 / 기억장치 / 프로그램/ 데이터로 이루어진 슈퍼 컴퓨터 - 모든 현대 컴퓨터의 조상 어셈블리어 - 복잡한 기계어를 사람이 이해 할 수 있는 기호나 단어로 만든 것 ex)10001010 => Mov - 어셈블리어 ( 프로그래밍 언어 ) => [ 컴파일 By 컴파일러..