[Alongside] 예제로 배우는 C#_03

타키탸키·2021년 12월 8일
0

C언어(C, C++, C#)

목록 보기
9/14
  • WinForms을 제작할 때는 UI와 프로그램 코드를 나누어 작성해야 한다
    • 코딩의 재사용성과 가독성을 높일 수 있기 때문이다
    • ex:) 계산기의 디자인 영역 + 사칙연산 영역
  • UI(User Interface)
    • 사용자와 상호작용하는 것
    • 사용자로부터 입력 받기

WinForms 계산기 프로그램

  • 도구
    • TextBox
      • 사용자 입력(Sum1, Sum2)
      • 계산 결과(SumResult)
    • Button
      • 사칙연산 수행(SumNums)
private void SumNums_Click(object sender, EventArgs e)
{
    int num1 = Convert.ToInt32(Sum1.Text);
    int num2 = Convert.ToInt32(Sum2.Text);

    int sum = num1 + num2;
    SumResult.Text = sum.ToString();
}
  • Convert.ToInt32()
    • ConvertSystem이 가지고 있는 기능
      • 형변환
    • ToInt32()
      • 정수형으로 변환하기 위해 사용
      • 주로 Int32를 사용
    • .Text로 입력된 값은 string이므로 계산을 위해 int형으로 변환 필요
  • .ToString
    • 자주 사용되는 경우가 많아 Convert가 없어도 사용 가능
  • 결과

  • 함수와 메서드
    • 함수(Function)
      • 어떤 기능을 수행하는 프로그램 블록
    • 메서드(Method)
      • 클래스에 속한 함수
  • 전기밥솥(Cook) 함수
    • 함수 선언
      • steamedRice Cook(rice, water)
    • 매개변수(Parameter)
      • Input
      • 함수에 넘겨주는 값
      • 쌀과 물(rice, water)
    • 함수 호출
      • 취사 버튼 누르기
    • Output
      • 밥(steamedRice)
      • 자료형
public int Add(int num1, int num2)
{
    int sum = num1 + num2;
    return sum;
}
  • 덧셈(Add) 함수
    • 함수 선언
      • public int Add(int num1, int num2)
    • 매개변수
      • int num1, int num2
    • 함수 기능
      • 덧셈 연산 수행
    • 결과 반환
      • return sum
      • 함수 선언부에서 지정한 자료형에 맞는 리턴값
      • 리턴값이 없다면 void로 선언
    • 함수 호출
      • Add(3, 4)
    • 결과
      • 7
  • 계산기 프로그램에 함수 적용
private void SumNums_Click(object sender, EventArgs e)
{
    int num1 = Convert.ToInt32(Sum1.Text);
    int num2 = Convert.ToInt32(Sum2.Text);

    int sum = Add(num1, num2); // 수정된 부분
    SumResult.Text = sum.ToString();
}

public void Add(int num1)
public void Add(int num2)
public void Add(int num1, int num2)
public void Add()
  • 함수의 오버로딩(Overloading)
    • 함수 원형은 이름과 매개변수로 이루어진다
    • 같은 이름을 가진 함수는 존재할 수 있다
      • 매개변수가 다르다면 가능
      • 다르다의 기준은 자료형매개변수의 개수이다
    • 그러나, 같은 이름과 매개변수를 가진 함수는 존재할 수 없다
    • 리턴값은 함수 원형의 고유성에 영향을 주지 않는다
      • 따라서, 아래와 같은 코드가 가능하다
public int Add(int num1, int num2)
{
    int sum = num1 + num2;
    return sum;
}

public float Add(float num1, float num2) // 이름이 같아도 존재 가능
{
    int sum = num1 + num2;
    return sum;
}
profile
There's Only One Thing To Do: Learn All We Can

0개의 댓글