전체 글(164)
-
0314 클래스와 메서드
ref static void Main(string[] args) { int x = 10; //초기화 꼭 해야함 PassByValue(x); Console.WriteLine(x); // x = 10 ← 메서드에서 변경된 부분이 호출 함수에서 반영되지 않음 PassByReference(ref x); Console.WriteLine(x); // x = 13 } static void PassByValue(int a) { a += 3; } static void PassByReference(ref int a) { a += 3; } 1. 오버로딩 객체 지향 언어에선 메소드의 전달인자의 종류와 개수를 기반으로 호출하기에 문제 발생x 겉모습은 같은 이름의 메소드라도 전달인자가 다르면 다른 메소드로 취급한다. public..
2021.03.15 -
0312 상속 inheritance
protected : 내가 상속 설정한 곳까지만 사용할 수 있다. / 외부에서 사용 불가 캡슐화 Encapsulation: 내부를 숨기고 외부에서 즉각적으로 사용할 수 있게 설계 함수 외부에서 실수로 코드가 변경되는 것을 방지한다. 필드를 노출시키지 않게 abstraction추상화: 추상화 클래스를 만들 수 있다. 구현 세부 정보를 숨기고 필요한 기능만 노출하도록 설계된 개체 추상화/상속/캡슐화/다양성 = 객체 지향 프로그래밍의 기본 맴버가 상속된 클래스를 기본/부모 클래스라고 하고 기본 클래스의 맴버를 물려받은 클래스를 파생/자식 클래스라 칭한다.
2021.03.12 -
0312 생성자
private 생성자: 외부에서 생성자를 호출 불가능할 때 /내부에서만 호출 예시) 패턴화된 생성자들에서 자주 사용된다. 싱글턴 패턴 (singleton) = management에서 주로 사용된다. this 클래스의 현재 인스턴스를 참조하는데 사용된다. 웬만하면 this 자주 사용하기. 매개 변수랑 맴버 변수 구분을 위해선 꼭 사용하기 static 메서드: 정적 수정화로 선언한 항목을 인스턴스화 할 수 없습니다. 유형 이름으로 직접 액세스 가능 (클래스 이름으로) const 상수: 어떤 타입이든 상수 선언 가능/ 변하지 않는 것 구조체=클래스: 메서드에서 한 번 사용하고 버릴 때 (서버 통신할 때:메모리 아낄 때) 클래스는 참조 형식/구조체는 값 형식 = null값이 될 수 없다. 인스턴스화 된다. ne..
2021.03.12 -
0312 재귀 함수 Recursive Method Call
나 자신의 함수를 호출하기 static void Main(string[] args) { } private int Factorial(int num) { if (num==1) { return 1; } else { return Factorial(num-1)*num; } } 매서드가 무한히 돌지 않게 중간에 빠져나갈 비상탈출구 만들어주기
2021.03.12 -
0312 메서드 오버로딩
메서드 안의 매개 변수가 다르게 정의되면 같은 이름이라도 사용 가능하다. 예) public void SayHello(){} public void SayHello(string message){} =======================TryParse 숫자 형식의 문자열 값 > int 형식 변환 string str = "1"; int num = Convert.ToInt32(str); Console.WriteLine(num); bool 타입으로 변환 int num2; int.TryParse(str,out num2); static void Main(string[] args) { string str = "1"; int num = Convert.ToInt32(str); int num2; bool isSuccess..
2021.03.12 -
0312 Array 배열
배열은 동일한 데이터 형식/변수의 여러 요소를 저장한다. 미리 정의된 항목의 수에 따라 고정된 수의 요소를 순차적으로 저장한다. 배열 선언: 예) int [] arrayName; 배열 초기화: 배열은 동일한 변수를 여러 개 저장하는 인스턴스 1. int [] array = new int[5]; 고정된 값 5개의 배열 인스턴스 생성: 기본값 0개가 들어감 방 하나가 변수를 의미한다. 2. int[] array = new int[5] {1,2,3,4,5}; 각 방 안에 할당값을 준 상태의 배열 변수 생성 3. int [] array = new int {1,2,3,4,5}; 4. int [] array = {1,2,3,4,5}; 5. int [] array; array = new {1,2,3,4,5}; pub..
2021.03.12