회원 로그인
|
추상 클래스
추상 클래스
처리를 명시하지 않고 호출한 쪽만 정의한 메소드를 추상 메소드라 한다. 추상 메소드를 가진 클래스를 추상 클래스라 한다.
추상 클래스로 만들어진 클래스는 인스턴스 생성할 수가 없다. 하지만 상속하여 추상 메소드를 오버라이드하여 사용할 수 있다. 또한 추상 클래스에는 추상 메소드와 일반 메소드를 혼용하여 사용할 수 있다.
추상 메소드와 추상 클래스의 정의
추상 메소드, 추상 클래스는 abstract(애브스트랙트) 수식자를 사용하여 다음과 같이 정의한다.
추상 클래스의 이용
추상 클래스를 상속하여 객체를 생성하려면 다음과 같이 override를 붙인 멤버를 준비한다.
37+33=70
참고 서적> c#이 보이는 그림책
처리를 명시하지 않고 호출한 쪽만 정의한 메소드를 추상 메소드라 한다. 추상 메소드를 가진 클래스를 추상 클래스라 한다.
추상 클래스로 만들어진 클래스는 인스턴스 생성할 수가 없다. 하지만 상속하여 추상 메소드를 오버라이드하여 사용할 수 있다. 또한 추상 클래스에는 추상 메소드와 일반 메소드를 혼용하여 사용할 수 있다.
추상 메소드와 추상 클래스의 정의
추상 메소드, 추상 클래스는 abstract(애브스트랙트) 수식자를 사용하여 다음과 같이 정의한다.
abstract class Animal { //추상 클래스, Animal 클래스명 public string name; public abstract void cry(); //void 반환 값의 형, cry() 메소드명 static void move() { ...... } }
추상 클래스의 이용
추상 클래스를 상속하여 객체를 생성하려면 다음과 같이 override를 붙인 멤버를 준비한다.
abstract class Animal { public abstract void cry(); ...... } class Dog:Animal { public override void cry() { //추상 메소드의 오버라이드 Console.WriteLine("Bowwow"); } ...... }
//예제 using System; abstract class CalcA { public int a; public int b; public abstract void answer(); public void setData(int m, int n) { a = m; b = n; } } class Plus : CalcA { public override void answer() { Console.WriteLine(a + "+" + b + "=" + (a + b)); } } class Abstract { static void Main() { Plus plus = new Plus(); plus.setData(37, 33); plus.answer(); } }결과
37+33=70
참고 서적> 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 | 푸딩뱃살 | 452 | 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로 설치 때 퍼미션 에러 | 푸딩뱃살 | 1264 | 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 | 푸딩뱃살 | 693 | 2020.06.05 13:58 |
269 | [Python] OpenCV 10-1. 이미지 Thresholding | 푸딩뱃살 | 578 | 2020.06.05 13:56 |
268 | [Python] OpenCV 9-2. 색 추적 | 푸딩뱃살 | 771 | 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 |