본문 바로가기

접근제한자(access Modifier)와 this 1. 접근 제한자(Access Modifier) 접근 제한자 설명 private 클래스 내부에서만 접근 가능 public 모든 곳에서 멤버로 접근이 가능 internal 같은 어셈블리에서만 public으로 접근 protected 클래스 외부에서 접근 할 수 없으나 파생클래스에선 접근 가능 protected internal 같은 어셈블리에서만 protected로 접근 가능 1.1 private - 클래스 내부에서만 접근 가능 class A { private int index; } main() { A a = new A(); a.b = 1; } ※ 해당 코드를 실행하게 되면 보호 수준 에러라고 뜬다. 그냥 쉽게 외부에서는 접근이 불가능하다라고 생각하면된다. 1.2 public - private는 보호 수준때문.. 더보기
ref, out, params 이란? 1. ref - 변수 값을 그냥 전달하는게 아닌 변수의 메모리 주소를 전달 - ref는 전달 시 값을 초기화 해줘야한다. void TEST(ref a, int b) { } void main() { int a = 10; //초기화 TEST(ref a, 100); } 2. out - ref처럼 변수의 메모리 주소를 전달 - ref처럼 전달 시 값을 초기화 하지 않아도 된다. void TEST(out a, int b) { } void main() { int a; TEST(out a, 100); } 3. params - 메소드에 여러개의 값을 전달 시에 사용 한다. (값을 넣은 배열을 인자로 전달하는것과 같다) void TEST(params int[] a,) { } void main() { TEST(1,2,3,.. 더보기
오버로딩(Overloading) vs 오버라이딩(Overrideing) 1. 오버로딩(Overloading) - 하나의 클래스에 있는 메소드는 이름이 중복 될수 없기 때문에 매개 변수의 정보(형식, 수)가 다를 경우 동일한 이름으로 사용할 수 있도록 함 void Sum(int a) { } void Sum(char a) { } void Sum(int a, int b) { } - 위의 코드처럼 이름은 동일하지만 뒤에 붙는 매개변수 종류와 갯수?에 따라서 다름 메소도로 구분된다. 2. 오버라이딩(Overrideing) - 함수의 재정의라고 생각하면 된다. class A { void Over() { printf("TEST") } void Over(int a) { printf("TEST1"} } class B : public A { void over(int a, int b) { pr.. 더보기