C#/C# 코딩

[C#] 메서드에 대해 알아보자

tangent0426 2024. 8. 20. 18:00
728x90
반응형

저번 시간에는 클래스에 대해 짧게 메서드에 알아본 적이 있었습니다. 이번에는 메서드에 기본 형태와 응용에 대해 알아볼까 합니다.

 

 

[C#] 클래스에 대해 알아보자

저번 시간에는 조건문, 반복문을 통해 나이 구별이나 어떤 과일을 좋아하는지 찾아보는 코드를 작성해 보았습니다. 이번에는 이러한 코드의 데이터를 어디서 받는지, 이 모든 걸 통틀어 클래스

tangent0426.tistory.com

메서드 기본 형태, 클래스 메서드, 오버로딩, 속성

메서드(Method)

메서드는 클래스 내에서 코드 블록을 실행 시키는 함수로 프로그램을 통해 메서드를 호출하고 필요한 메서드 인수를 지정하여 문을 실행하는 방식입니다. C#에서는 실행된 모든 명령이 메서드의 컨텍스트에서 수행되며, 매개변수를 넣어주면 메서드 내부에서 특정한 처리를 수행하고 메서드 내부에서 만들어진 값을 반환합니다.

 

클래스 메서드

 

클래스 메서드는 클래스 변수를 사용할 때와 같으며 Program 클래스 내부에 있는 Main() 메서드를 직접 사용하고 싶으면 클래스 이름 뒤에 . 기호를 찍고 사용합니다.

오버로딩(Overloading)

 

오버로딩(Overloading)은 이름은 같고 매개변수는 다른 메서드를 만드는 것으로 오버라이딩(Overriding)과 이름이 비슷하지만 다른 것이므로 주의해야 한다.

 

속성(Property)

 

속성은 리스트로 표현하자면


  • 클래스에서 필드의 값을 읽거나 쓸 수 있게 제공하는 멤버
  • 데이터를 손쉽게 접근하고 안전성과 데이터의 유효성을 검사할 수 있음
  • get과 set 접근자를 통해서 읽거나 쓸 수 있음
  • public, private, internal, protected, protected internal, private protected로 표현할 수 있음
  • 필드명과 동일하게 하되, 첫 글자는 대문자로 입력해야 함

 

Getter, Setter, 일반적인 속성 생성법, 값 복사와 참조 복사, 상속

 

Getter / Setter

Get 메서드는 필드 값 반환, Set 메서드는 필드 값 설정
 

일반적인 속성 생성법

일반적인 속성 생성법으로 속성은 Getter와 Setter를 쉽게 만들 수 있는 방법으로 아래위 리스트와 표를 보면

[인스턴스 이름] . [속성 이름] <- Getter 호출
[인스턴스 이름] . [속성 이름] = [값] <- Setter 호출

 


  • Get 키워드 뒤의 괄호에는 Getter를 입력함
  • Getter이므로 반드시 어떤 값을 반환해줘야 함
  • Set 키워드 뒤에는 Setter를 입력함

 

값 복사와 참조 복사

값 복사와 참조 복사로 값(Value)은 int/float 등 기본 자료형, 참조(Reference)는 클래스로 만들어진 인스턴스(객체)로 표현한다.

 

상속(Inheritance)

 

상속(Inheritance)
부모의 클래스로부터 상속을 받은 자식 클래스에서는 부모의  코드를 사용할 수 있게 되는 것
부모 클래스를 기반 클래스(Basic Class)  또는 상위 클래스(Super Class)라고 함
자식 클래스를 파생 클래스(Derived Class) 또는 하위 클래스(Sub Class)라고 함
상속을 사용해야 하는 이유
코드 중복 방지 – 깔끔한 코드 작성 가능
계층 분류를 통한 관리가 용이함
필요에 따라 상속 받은 코드를 확장하여 상속 가능
개발 시간과 검증 시간을 줄이는데 도움이 됨

 

다향성, IS 키워드, 클래스 자료형 변환, 상속의 생성자

다형성(Polymorphism)

 

다형성(Polymorphism) 다형성이 적용 되는 곳
하나의 클래스가 여러 형태로 변환될 수 있는 성질
오버로딩
상속받은 자식 클래스가 다양한 타입을 가질 수 있음
오버라이딩
코드 중복을 해결할 수 있음
업캐스팅
  다운캐스팅
 
추상클래스의 상속 관계
 
인터페이스의 상속 관계

 

is 키워드(객체 is 클래스)

객체가 특정 클래스의 객체라면 true를 반환함

 

클래스 자료형 변환

 

상속의 생성자

상속의 생성자에서 상속했을 때 기본적인 생성자 호출 순서로 생성자는 인스턴스를 초기화할 때 사용하며, 자식 인스턴스를 부모가 가지고 있는 멤버 초기화를 위해 부모 생성자도 자동으로 호출됩니다.

Output은 부모생성자와, 자식생성자로 나누어집니다.

 

또 다른 Base 키워드를 사용한 생성자 지정으로 부모 생성자 호출을 명시적으로 지정하고 싶을 때 사용하며 생성자 메서드 뒤에 콜론을 입력하고 base() 입력합니다. 또한 부모 생성자 메서드에 매개변수가 없으므로 괄호 안은 비워 둡니다.

 

 

Base 키워드를 사용한 생성자 지정하며 매개변수가 있는 메서드를 호출하고 싶을 때, 생성자는 인스턴스를 생성하는 가장 첫 단계로, 상속을 할 때 생성자를 제대로 사용할 수 없으면 안 됩니다.

 

이것으로 메서드와 상속 부분에 대해서 간단하게 알아보았습니다.

 

읽어주셔서 감사합니다.^0^

반응형