C# 공부/C# 기본 문법 (21) 썸네일형 리스트형 메소드(Method) - 2 (오버로딩, 가변길이 매개변수, 명명된 매개변수, 선택적 매개변수, 로컬함수) A. 메소드 오버로딩 오버로딩(Overloading) : '과적하다'라는 뜻을 가진다. 메소드 오버로딩은 하나의 메소드이름에 여러개의 구현을 올리는것을 뜻한다. ex) Console.WriteLine(bool value) Console.WriteLine(int value) 이와같이 WriteLine() 메소드는 총 19개버전을 오버로딩하고있다. B. 가변길이 매개변수 C#은 같은형식의 매개변수의 "수"가 다른경우를 위해 "가변 길이 매개 변수"라는 기능을 제공한다. ex) static int Sum(params int[] args) { int sum=0; for(int i=0;i0) Console.Write(", "); Console.Write(args[i]); sum+=args[i]; } Console.. 메소드(Method) - 1 (참조에의한 매개변수 전달, 결과를 참조로 반환, 출력전용 매개변수) C와 C++ 에서는 함수 (Function), 파스칼에서는 프로시져(Procedure), 혹은 다른언어에서는 서브루틴(Subroutine)이나 서브프로그램(Subprogram)이라 불렸다. 엄밀하게는 의미차이가 존재하지만, 큰 맥락에서 이 용어들은 같은용어를 지칭함. A. 참조에 의한 전달 (pass by reference) 1. 매개변수전달 메소드에서 매개변수로 전달된 변수를 직접 참조하여 변수값이 변경됨. (매개변수 자료형 앞에 ref를 붙인다) ex) static void Swap(ref int a, ref int b) { int temp=b; b=a; a=temp; } 2. 결과를 참조로 반환하기 메소드 호출자에게 반환받은 결과를 참조로 다룰수있도록 한다. 선언시 반환형 앞에 ref, 리턴뒤에 r.. 코드의 흐름 제어 (do while, for each, 점프문) A. 반복문 1. do while문 조건식 평가하기전 무조건 한번 코드를 실행 - 예시코드 int a=10; do{ Console.WriteLine(a); a -= 2; }while(a>10); //끝에 ; 가 필수! 2. for each문 - 형식 foreach(데이터 형식 변수명 in 배열_또는_컬렉션) 코드 - 예시코드 int[] arr = new int[]{0,1,2,3,4}; foreach(int a in arr){ Console.WriteLine(a); } B. 점프문 C#에서의 점프문은 5가지 1. break 2. continue 3. goto 4. return 5. throw Null 연산자 (Nullable 형식, Null 조건부 연산자) 먼저 Nullable 형식에 대해 정리 변수에 메모리공간을 비워두도록 만드는 형식(쓰레기값이 안들어간다) -선언 int? a=null; double? b=null; - Null 조건부 연산자 ( ?. ) C# 6.0이후 도입되었다. 해당객체 멤버에 접근하기전에 객체가 null인지 검사해서 결과가 참이면(객체가 null이면) 결과로 null 반환, 그렇지않으면 . 뒤에 지정된 멤버를 반환. ex) class Foo{ public int member; } Foo foo = null; int? bar; //nullable 변수선언 bar = foo?.member //foo 객체가 null이 아니면 member필드에 접근하게 해줌. C. 병합 연산자 (??) null 병합연산자는 왼쪽 피연산자 값이 null이 .. 문자열 서식 맞추기 (Format(), 문자열 보간) 1. Format() 메소드 기본적으로 Console.WriteLine("제목 :{0}", "이것이 C#이다"); 메소드 내부에서 String.Format() 메소드가 동작하고있다. - 구조 {첨자, 맞춤 : 서식 문자열} 첨자 : 서식 항목의 첨자 맞춤 : 왼쪽(-)/오른쪽 맞춤 서식문자열 : 변환 서식 지정 문자열 a. 맞춤기능 : 프로그램이 여러개의 항목을 가지런히 출력할때 필요하다. string result = string.Format{"{0}DEF","ABC"}; // result = "ABCDEF" string result = string.Format{"{0,-10}DEF","ABC"}; // result = "ABC DEF" string result = string.Format{"{0,10}.. 이전 1 2 3 다음