티스토리 뷰
클래스를 정의할 때,
1. static public 변수
2. static private 변수
3. private 인스턴스 변수
4. public 인스턴스 변수 -> 필요한 경우가 거의 없다.
5. public 함수
6. private 함수는 자신을 호출하는 공개 함수 직후에.
이런 순으로 체계를 잡는다. 추상화 단계가 순차적으로 내려간다.
클래스를 만들 때 유념해야 할 점은 클래스의 크기는 작아야 한다는 것이다. 그렇다면 얼마나 작게 만들어야 할까? SRP에 따라 한 클래스에 하나의 책임이 있도록 해야 한다.
자잘하게 책임을 나누면 큰 그림을 이해하기 어렵다고 걱정하지만, 작은 클래스가 많건 큰 클래스가 몇 개뿐이건 돌아가는 부품의 수는 결국 비슷해진다. 그러므로 큰 상자에 여러 도구를 넣고 쓸 것인지, 아니면 작은 상자에 도구를 나눠서 넣고 쓸 것인지의 문제인 것이다.
객체 지향 프로그래밍 입문에서 구체클래스와 추상클래스가 있고, 구체클래스는 상세한 구현, 추상클래스는 개념을 포함한다고 배웠다. 상세한 구현에 의존할 경우 구현이 바뀌면 위험에 빠지기 때문에 인터페이스와 추상 클래스를 사용해 구현이 미치는 영향과 분리한다.
300x250
'클린코드' 카테고리의 다른 글
[클린코드 요약] 12. 창발성 (0) | 2021.05.10 |
---|---|
[클린코드 요약] 11. 시스템 (0) | 2021.05.04 |
[클린코드 요약] 9. 단위 테스트 (0) | 2021.04.15 |
[클린코드 요약] 8. 경계 (0) | 2021.04.07 |
[클린코드 요약] 7. 오류 처리 (0) | 2021.04.03 |