프로그래밍/C#

3. C# 기초 -2일차(이론)

파란도화지 2021. 11. 2. 09:35

1. Visual Studio

Visual Studio Tools

  • MS에서 개발한 개발자들이 사용하는 프로그램
  • Visual Studio에서는 iOS, Android, Windows 환경에서 개발 가능
  • Microsoft의 제품군을 개발하기 위해 필요한 것 => SDK : 여러 가지 편리한 기능 제공
  • 장점 : 개발자들의 코드 작성 시간 단축, 생산성 향상, Debug 기능, 성능 테스트(정적/동적 코드 분석)

SDK(Software Development Kit)

  • 프로그램 개발에 필요한 주요파일(DLL)을 제공
  • 개발에 필요한 설명서 제공
  • SDK : Windows 개발에 필요한 내용
  • WDK : 디바이스 드라이버를 만들 때 사용
  • ADK : Windows 8.0 이상에서 사용되는 배포에 사용되는 도구

 

2. 예외처리

  • 만에 하나 있을까 말까 하는 상황에 대비
  • 보험과 같은 느낌(꼭 있을 필요가 있을까?)
  • 정상적인 상황이 아니라 특별한 상황에 대비하기 위해 사용하는 것이 원칙

Debug

  • 프로그램의 논리적인 문제를 해결하기 위해 사용
  • 프로그램의 흐름을 분석할 경우

Tool

  • 개발자의 단순 실수(오타)
  • 개발자의 코드 작성을 쉽게
  • 문법의 형식이 맞는지 확인

컴파일

  • Tool에서 잡지 못한 문법의 형식도 여기서 가끔 표시

예외를 처리할 경우

  • Try 구문을 이해 : 정상적으로 처리되는 부분
  • Catch 구문을 이해 : 예외가 발생할 때의 처리되는 부분
  • 전용 보험을 먼저 하고, 그 다음에 종합 보험을 작성해야함(단, 코딩시작 단계에서는 종합보험을 먼저 사용하고 이후 실력이 향상되면 전용 보험도 적용)

Try ~ catch ~ finally 구문의 완성

  • Finally 구문은 필요한 경우에만 사용
  • Finally 구문은 try 또는 catch가 발생해도 무조건 실행

3. 개체지향 프로그래밍

OOP : Object Oriented Programming

개체 지향 프로그램의 특징

  • 개체 지향의 특징은 3대 원칙
  • 캡슐화
  • 상속
  • 다형성
  • 사용자 정의 데이터 타입을 만들고 이를 활용하는 프로그램(필요할 때 쓰고 필요하지 않을 때는 쓰지 않는 것)
  • 사용자 정의 데이터 타입은 누구나 만들 수 있음
  • 이를 사용하는 방법을 배우는 것 : 개체 지향 프로그램

매서드

  • 여러 줄의 코드 작성을 하나의 묶음으로 관리하는 것
  • 데이터를 처리하는 최소의 단위
  • 처리가 핵심
  • 반복적을 처리하는 부분을 하나의 묶음으로 처리

첫 실습에서의 메서드

static void Main(string[] args) // <- 특수목적 메서드 : 프로그램 시작을 알릴 때 사용 Main
{
       Console.WriteLine("홍길동");
}

메서드를 정의할 때에는 접근 한정자(제한자)를 먼저 선언

  • public : 모든 외부 혹은 파생 클래스에서 이 클래스를 액세스 할 수 있음
  • internal : 동일한 Asssembly 내에 있는 다른 클래스들이 액세스 할 수 있음(다른 어셈블리에서는 접근 불가)
  • protected : 파생클래스에서 이 클래스 멤버를 액세스할 수 있음
  • private : 동일 클래스 내의 멤버만 접근 가능(static 앞에 아무것도 없으면 private이 숨어 있는 것)
  • 아무것도 안쓰면 기본은 private 로 선언된 것으로 간주
  • 우리가 잘 쓰는 것은 Public / private 을 자주 사용할 것임
  • 접근한정자 다음에는 static 형식인 구분
  • 반환 형식을 지정
  • 메서드의 끝에는 return 사용

Yield 키워드

  • 이 키워드는 주로 데이터 양이 많을 때 처리하는 호출 메서드에서 주로 사용하는데 한꺼번에 많은 데이터를 받는 것보다 조금씩 데이터를 받 을 때 효율적일 경우에 사용

매개 변수(파라미터/인수)

  • 메서드를 호출할 데이터를 넘길 경우에 사용
  • 메서드도 데이터를 전달하지만 결론은 변수임
  • 넘길 때에는 자기 데이터만 넘겨주기 때문에 받는 메서드에서 데이터가 변경되어 원본데이터는 변경되지 않음

 

메서드 오버로드

  • 하나의 메소드 이름에 여러 개의 메소드 구현
  • 구현 시, 매개변수를 다르게 해서 구현(타입 또는 변수 갯수)

 

매개변수 전달 방법

  • Call by value : 기본적인 값 전달 방법
  • Call by reference : 참조에 의한 전달 방법
  • 값이 전달되는 것이 아니라 주소가 전달됨
  • 즉, 호출된 메서드에서 값이 변경되면 원본 데이터도 변경됨
  • ref/out 키워드를 사용