클래스 <2>
[C#] interface vs abstract class
* 인터페이스(interface) 메서드, 이벤트, 인덱서(인덱스를 이용해서 객체 내의 데이터에 접근하게 해주는 프로퍼티), 프로퍼티만 가질 수 있다. (구현을 가질 수 없다.) 클래스, 인터페이스에서 상속 가능함 여러 개의 인터페이스 한꺼번에 상속 가능 * 추상 클래스 (abstract class) 구현을 가질 수 있으나 일반 클래스와 달리 인스턴스를 가질 수 없다. 여러 개의 클래스를 한꺼번에 상속할 수 없음 (죽음의 다이아몬드 문제) - up-casting 때문에 할아버지 클래스를 두 개의 파생 클래스가 상속하고, 이 두 개의 파생 클래스를 하나의 자식 클래스가 상속하게 될 경우 모호해진다.
프로그래밍/C#
2020. 6. 28. 01:51
[Clean Code] 10장 클래스
- 클래스 체계 : 변수 public static -> private static -> private : 함수 public -> private : 캡슐화 - 변수와 유틸리티 함수는 가능한 공개하지 않는 편이 좋다. - 클래스는 작아야 한다. : 클래스 이름에 Processor, Manager, Super 등과 같이 모호한 단어가 있다면 클래스에 여러 책임을 떠맡겼다. : 단일 책임 원칙(Single Responsibility Principle) - 변경할 이유가 하나여야 한다. - 응집도 : 응집도가 높다는 것은 클래스에 속한 함수와 변수가 서로 의존하며 논리적인 단위로 묶인다는 의미이다. : 응집도를 유지하면 작은 클래스 여럿이 나온다 - 클래스가 응집력을 잃는다면 쪼개라. - 변경하기 쉬운 클래스 :..
프로그래밍/클린코드
2020. 6. 5. 20:39
Copyright ⓒ dub All Rights Reserved.