회원 로그인
|
이름의 은폐 new
이름의 은폐
파생 클래스의 멤버가 기본 클래스의 멤버를 은폐하는 것을 이름의 은폐라 한다.
기본 클래스의 멤버와 같은 이름의 멤버
파생 클래스의 멤버에 기본 클래스의 멤버와 같은 이름을 붙이고자 할 경우에는 멤버의 정의 앞에 'new'를 붙인다.
*클래스에서 객체 생성할 때 new 연산자는 다른 것이므로 주의
new가 붙은 멤버를 호출하면 항상 파생 클래스 쪽의 멤버가 호출된다. 이것을 이름의 은폐라 한다.
100
base
이름이 은폐된 기본 클래스의 멤버를 파생 클래스 안에서 사용하려면 base(베이스)를 사용한다.
A 클래스의 a는 3
참고 서적> c#이 보이는 그림책
파생 클래스의 멤버가 기본 클래스의 멤버를 은폐하는 것을 이름의 은폐라 한다.
기본 클래스의 멤버와 같은 이름의 멤버
파생 클래스의 멤버에 기본 클래스의 멤버와 같은 이름을 붙이고자 할 경우에는 멤버의 정의 앞에 'new'를 붙인다.
*클래스에서 객체 생성할 때 new 연산자는 다른 것이므로 주의
class A { public int a_ = 10; } class B : A { new public int a_ = 36; //new를 붙이지 않으면 경우 메세지 }
new가 붙은 멤버를 호출하면 항상 파생 클래스 쪽의 멤버가 호출된다. 이것을 이름의 은폐라 한다.
//예 using System; class A { public int a_ = 3; } class B : A { new public int a_ = 100; } class C { public static void Main() { B b_ = new B(); Console.WriteLine(b_.a_); } }#결과
100
base
이름이 은폐된 기본 클래스의 멤버를 파생 클래스 안에서 사용하려면 base(베이스)를 사용한다.
base.a_ //기본 클래스의 필드
using System; class A { public int a_ = 3; } class B : A { new public int a_ = 100; public void print() { Console.WriteLine("A 클래스의 a는 " + base.a_); } } class C { public static void Main() { B b_ = new B(); b_.print(); } }#결과
A 클래스의 a는 3
참고 서적> c#이 보이는 그림책
댓글 0개
| 엮인글 0개
285개(1/15페이지)
번호 | 제목 | 글쓴이 | 조회 | 날짜 |
---|---|---|---|---|
285 | [Python] 동적 import - 모듈을 변수로 받아오기 | 푸딩뱃살 | 412 | 2022.10.27 10:45 |
284 | [Python] 파이썬 3.7.7과 3.9.7의 os.path.expanduser() 차이 | 푸딩뱃살 | 455 | 2022.08.18 12:22 |
283 | [Python] error: Microsoft Visual C++ 9.0 is required. | 푸딩뱃살 | 684 | 2022.08.03 13:35 |
282 | [Python] pyscript | 푸딩뱃살 | 453 | 2022.06.09 11:21 |
281 | [Python] float is / float not is | 푸딩뱃살 | 593 | 2022.03.02 15:03 |
280 | [Python] 이터널 문자열 f | 푸딩뱃살 | 833 | 2022.01.27 16:35 |
279 | [Python] is와 ==의 차이 | 푸딩뱃살 | 485 | 2021.11.25 15:54 |
278 |
[Python] Error: ImportError: file |
푸딩뱃살 | 916 | 2021.11.16 11:24 |
277 | [Python] 파이썬 디컴파일 - uncompyle6 | 푸딩뱃살 | 774 | 2021.11.10 14:46 |
276 | [Python] 파이썬 확장자 설명 | 푸딩뱃살 | 550 | 2021.11.03 14:38 |
275 | [참고] 웹 fbx 뷰어 | 푸딩뱃살 | 470 | 2021.10.19 15:46 |
274 | [Python] enumerate() | 푸딩뱃살 | 500 | 2021.10.13 14:44 |
273 | [Python] 아나콘다에서 가상 환경 | 푸딩뱃살 | 719 | 2020.11.21 00:26 |
272 | [Python] pip로 설치 때 퍼미션 에러 | 푸딩뱃살 | 1265 | 2020.06.06 17:13 |
271 | [Python] OpenCV 10-3. 이미지 Thresholding - Otsu's Binarizatio | 푸딩뱃살 | 673 | 2020.06.05 14:01 |
270 | [Python] OpenCV 10-2. 이미지 Thresholding - Adaptive Threshold | 푸딩뱃살 | 694 | 2020.06.05 13:58 |
269 | [Python] OpenCV 10-1. 이미지 Thresholding | 푸딩뱃살 | 578 | 2020.06.05 13:56 |
268 | [Python] OpenCV 9-2. 색 추적 | 푸딩뱃살 | 772 | 2020.06.02 23:29 |
267 | [Python] OpenCV 9-1. 색공간 바꾸기 | 푸딩뱃살 | 639 | 2020.06.02 23:27 |
266 | [Python] OpenCV 8-3. 이미지 비트 연산 | 푸딩뱃살 | 528 | 2020.06.02 23:21 |