i-no.log
로그인
i-no.log
로그인
[클린 코드 읽고 정리해두고 다시 보기] 클래스
inho ha
·
2024년 9월 20일
팔로우
0
클린 코드
0
클린 코드 읽고 정리해두고 다시 보기
목록 보기
9/16
클래스 체계
클래스를 정의하는 표준 자바 관례에 따르면, 가장 먼저 변수 목록이 나온다.
static public 상수, static private 변수, private 인스턴스 변수 순서로 나온다.
이후 public 함수가 나오고, private 함수는 호출하는 public 함수 직후에 넣는다.
클래스는 변수와 유틸리티 함수를 숨기며 최대한 캡슐화를 유지해야한다.
클래스는 작아야 한다!
클래스는 클래스 이름으로 기술하는 하나의 책임만 가져야한다.
하나의 책임을 가진 적은 수의 메서드를 가져야한다.
작게 만든 클래스는 각자 맡은 책임이 하나며, 변경할 이유가 하나며, 다른 작은 클래스와 협력해 시스템에 필요한 동작을 수행한다.
적은 수의 인스턴스 변수를 가져서 높은 응집도를 가져야한다.
클래스 내의 모든 메서드들이 각각 모든 인스턴스 변수를 사용한다면 응집도가 높다.
이를 기준으로 클래스를 쪼개라!
변경하기 쉬운 클래스
시스템은 변경할 때마다 시스템이 의도대로 동작하지 않을 위험이 따른다.
상세한 구현에 의존하지 말고 추상화에 의존하라. 상세한 구현에 의존하는 클래스는 구현이 바뀌면 동작하지 않을 위험이 따른다.
인터페이스와 같은 추상화에 의존하면 stub을 통한 테스트 코드 작성도 쉬워지고, 시스템의 결합도가 낮아져 유연성과 재사용성이 높아진다.
결합도를 최소로 줄이면 DIP를 따르는 클래스가 나온다.
inho ha
inho ha / ian(swatchon) / iha(42seoul)
팔로우
이전 포스트
[클린 코드 읽고 정리해두고 다시 보기] 단위 테스트
다음 포스트
[클린 코드 읽고 정리해두고 다시 보기] 시스템
0개의 댓글
댓글 작성