TIL(2023.08.16)

최장범·2023년 8월 16일
0

TIL

목록 보기
8/50

오늘의 공부 내용

===강의 2-6부터 3강 클래스와 객체 까지의 내용===
1) Method와 구조체

  • Method의 역할과 중요성
    -코드의 재사용성
    -모듈화
    -가독성과 유지보수성
    -코드의 중복 제거
    -코드의 추상화

2) Method의 선언법

[접근 제한자] [리턴 타입] [메서드 이름]([매개변수])
{
    // 메서드 실행 코드
}
  • 접근 제한자 = public, private, protected
  • 리턴 타입 = 반환값의 데이터타입 지정, 없을경우 void
  • Method 이름 = 호출을 위한 이름
  • 매개변수 = Method에 전달되는 입력값, 0개 이상
  • Method Body {}안에 실질적으로 수행하는 코드

3) Method 호출법

[메서드 이름]([전달할 매개변수]);
eg) AddNumbers(10, 20);
  • 매개변수는 Method의 매개변수와 순서와 타입이 일치해야함

4) Method 오버로딩

void PrintMessage(string message)
{
    Console.WriteLine("Message: " + message);
}

void PrintMessage(int number)
{
    Console.WriteLine("Number: " + number);
}

// 메서드 호출
PrintMessage("Hello, World!");  // 문자열 매개변수를 가진 메서드 호출
PrintMessage(10);  // 정수 매개변수를 가진 메서드 호출
  • 같은 메서드이름 PrintMessage가 있지만 첫 메서드의 매개변수를 받는 것은 string타입, 두번째 메서드의 매개변수는 int로 받는다 이 상황을 Overloading이라 한다.

5) 구조체

  • struct 키워드
  • 사용자 정의 자료형
struct Person
{
    public string Name;
    public int Age;

    public void PrintInfo()
    {
        Console.WriteLine($"Name: {Name}, Age: {Age}");
    }
}

6) 객체지향 프로그래밍(Object-Oriented Programming)

  • 특징
    -캡슐화 (Encapsulation) = 정보 은닉, 외부로부터의 직접적 접근 제한
    -상속 (Inheritance) = 부모클래스로부터 자식 클래스가 상속을 받아 특성과 동작을 재사용
    -다형성 (Polymorphism) = 오버로딩(Overloading)과 오버라이딩(Overriding)
    -추상화 (Abstraction) = 복잡한 시스템을 단순화 하고 메인 기능에 집중
    -객체 (Object)

7) Class의 구성 요소

  • 필드 (Fields)
  • 메서드 (Methods)
  • 생성자 (Consturctors)
  • 소멸자 (Destructors)

8) Property 구문

  • get과 set접근자를 사용
[접근 제한자] [데이터 타입] 프로퍼티명
{
    get
    {
        // 필드를 반환하거나 다른 로직 수행
    }
    set
    {
        // 필드에 값을 설정하거나 다른 로직 수행
    }
}
  • Auto Property
[접근 제한자] [데이터 타입] 프로퍼티명 { get; set; }

오늘 공부한 것에 대한 생각

  1. 이론들을 공부하면서 정말 중요한것은 기본이라고 생각하게 된다. 기본 기초 지식들을 튼튼하게 알수록 더 좋은 코드를 쓰고 더 좋은 개발을 할 수 있을거 같다.

0개의 댓글