2024. 5. 9. 22:27ㆍ나의 개발자 기록/본 캠프 개발 일지
2024년 5월 09일 목요일
오늘 있었던 일들
제가 화요일부터 동원 예비군 훈련을 갔다 오느라 그동안 TIL을 쓰지 못했습니다. 오늘 예비군 끝나고 들어오자마자 씻고 ZEP에 들어가서 새로 바뀐 조원 분들과 이야기를 좀 나눠봤습니다. 그런데 예비군을 갔다온 사이에 제가 팀장이 되어 있더군요... 그래서 팀장 경험도 해볼겸 그냥 제가 하는 걸로 조원분들과 이야기를 나눴습니다.
이번 주차에서는 유니티 입문 주차여서 지급 받은 강의를 듣고, 다음 주 화요일까지 개인 과제를 제출하는 게 목표인데, 제가 예비군으로 시간을 많이 빼먹은 만큼 이번 주말에도 공부 위주로 할 예정입니다. TIL에는 뭘 쓸까 고민하다가 오늘 C# 중에서 다시 공부했던 2주 차 내용인 매개변수에 대해서 써볼까 합니다. 제가 개인적으로 매개변수에 대해서 어떻게 활용하고, 어떨 때 사용하는지에 대한 어려움이 많았었기 때문에 매개변수에 대해서 집중적으로 한 번 공략해볼까 합니다.
매개변수에 대해서
접근제한자 자료형 메서드이름 (매개변수)
public int AddNumber(int a, int b)
1. 매개변수(Parameters)란?
- 메서드에 전달되는 입력 값으로, 필요한 경우 0개 이상의 매개변수를 정의할 수 있다.
- 메서드의 선언부에 정의되며, 메서드 내에서 이 값을 활용하여 원하는 작업을 수행할 수 있다.
- 메서드 호출 시 전달되는 값에 따라 동적으로 결정되며, 호출 시에는 해당 매개변수의 값을 전달해야 한다.
코드 예시
public void PrintFullName(string firstName, string lastName)
{
Console.WriteLine($"Full Name: {firstName} {lastName}");
}
// 메서드 호출
PrintFullName("John", "Doe");
2. 기본 매개변수(Default Parameters)
public void PrintFullName(string firstName = "John", string lastName)
{
Console.WriteLine($"Full Name: {firstName} {lastName}");
}
// 메서드 호출
PrintFullName("Doe");
// 기본값으로 John을 넣었기 때문에 생략도 가능하고, 생략을 할 경우 firstName은 John이 할당된다.
- 메서드를 선언할 때 매개변수를 선언과 동시에 초기화를 해놓으면, 메서드를 호출할 때 매개변수를 지정하지 않아도 기본값으로 자동 설정한다. 이 기능을 기본 매개변수(default parameter) 또는 선택적 인수(optional argument)라고 합니다.
3. 명명된 매개변수(Named Parameters)
public void PrintFullName(string firstName, string lastName)
{
Console.WriteLine($"Full Name: {firstName} {lastName}");
}
// 메서드 호출
PrintFullName(firstName: "John", lastNaem: "Doe");
PrintFullName(lastNaem: "Doe", firstName: "John");
// 이름을 지정하면 순서와 상관없이 입력해도 되고, 어떤 역할의 매개변수인지 한눈에 알아보기 쉽다.
- 명명된 매개변수를 사용하면 함수를 호출할 때 필요한 매개변수 이름을 직접 지정할 수 있어 편리하다.
4. 메서드 오버로딩 : 다중 정의
public void PrintFullName(string firstName)
{
Console.WriteLine($"Full Name: {firstName}");
}
public void PrintFullName(string firstName, string lastName)
{
Console.WriteLine($"Full Name: {firstName} {lastName}");
}
public void PrintFullName(string firstName, string SecondName, string lastName)
{
Console.WriteLine($"Full Name: {firstName} {SecondName} {lastName}");
}
- 매개변수를 다양한 목록으로 동일한 이름의 메서드를 다중 정의할 수 있는 것이 메서드 오버로딩이다.
- 개수, 타입, 순서가 다른 여러 메서드를 동일한 이름으로 정의하여 메서드 호출 시 매개 변수의 형태에 따라 적절한 메서드가 선택되도록 할 수 있다.
- 오버로딩은 메서드의 기능이나 작업은 동일하지만, 입력값에 따라 다르게 동작해야 할 때 사용된다.
'나의 개발자 기록 > 본 캠프 개발 일지' 카테고리의 다른 글
2024년 5월 13일 월요일 개발일지 / 개인 과제의 진행 상황과 느낀 점 (0) | 2024.05.13 |
---|---|
2024년 05월 10일 금요일 개발일지 / out과 ref 키워드에 대해서 (0) | 2024.05.10 |
2024년 5월 03일 금요일 개발일지 / 팀 프로젝트 진행 상황과 느낀 점 (0) | 2024.05.03 |
2024년 5월 02일 목요일 개발일지 / 팀 프로젝트 진행 상황과 C# 배치고사 (1) | 2024.05.02 |
2024년 5월 01일 수요일 개발일지 / 팀 프로젝트 코드 컨벤션 정리와 심화 팀 과제 (1) | 2024.05.01 |