- using 키워드 : 동적으로 로드하는 키워드, 중복되도 문제가 없다. define은 정적으로 로드하고 중복될 경우 문제 일으키는 것과 반대됨
- partital keyword : 한 클래스당 같은 네임스페이스를 사용할 떄
-UML에서 클래스 구성 : 변수와 메소드
-UML에서 변수 표기 : "field : DataType"
public : +표기, Private면 -표기
if static이면 밑줄 쫙. static의 경우 힙이 아닌 클래스 영역에 위치한다. (클래스 정보라고 생각하자)
-UML에서 메소드 표기 : "method(ard : datatype) : return Type"
public : +표기
if class(static) method일 경우 역시 밑줄 쫙. 그어 표시한다.
-Class 설계의 원칙
클래스의 크기는 크지 말아야 한다. 클래스 크기가 크면 나중에 확장성의 문제가 발생할 수 있다.
클래스에 기능 추가시, 과연 이 기능이 진짜 이 클래스가 꼭 가져야만 하는 기능인지 확인하자.
필드는 다 감추고 나중에(필요한것만) 오픈해라.
오픈하는 과정은 설계하는 때 부터 고려할 것.
Open시킬것과 클래스의 크기에 대한 고려가 중요할 것으로 보인다.
-C#에서는 String이든 string이든 상관은 없다. 다만 new키워드를 사용하여 객체를 생성해 줄 것.
- Class.method(params); << static으로 선언된 메소드의 경우 바로 이렇게 사용가능하다
- 위 상황에서 static이 아닌경우
Class = new Class(); //여기에서처럼 생성을 해서 heap에 올려준 후 사용해라
Class.method(param);
- Class 선언시 앞에 아무런 접근지정자가 없으면 같은 Namespace안에서만 접근이 가능하다.
- C#언어는 매우 큰 수가 들어가면 exception이 일어난다. 그래서 명시적인 casting이 필요함.
반응형
댓글