이끌든지 따르든지 비키든지

Software Development/Java

[Java] 객체지향 생활 체조 원칙 - 2

SeongHo5 2023. 10. 19. 17:47

(전 글에 이어서 작성)

 

[Java] 객체지향 생활 체조 원칙 - 1

SOLID 원칙, 추상화, 다형성···, 객체 지향 프로그래밍(OOP)에 대해 공부할 때 정말 지겹도록 보게 되는 OOP의 특징과 원칙들이 있다. 코드를 객체 지향적으로 작성하려면 이러한 특징들을 지켜야

seongho-jo-5.tistory.com


6. 줄여 쓰지 않는다.

이름이 짧다고 무조건 좋은 것은 아니다.

변수명, 메서드명을 짧게 만들기 위해 보통 단어를 축약하는 방법을 많이 택하지만, 과도한 축약은 오히려 가독성을 떨어트린다.

 

줄여쓰지 않은 이름이 너무 길다면, 책임을 너무 많이 가져 단일 책임 원칙을 위배하는 것은 아닌지 , 적절한 클래스의 아래에 위치하지 않아 그런 것인지 이유를 생각해보아야 한다.

 

public class DataProcessor {
    public static void transfandsave(String data) {
        // 데이터 변환
        // ...
        
        // 데이터 저장
        // ...
    }
}

 

이 메서드는 데이터를 변환, 저장을 수행하는 메서드이다.

(예시를 들기 위해 급조해 억지스러운 느낌이 있지만) "줄여 쓰지 않는다"는 원칙과 단일 책임 원칙에 따라 분리해보자면, 아래처럼 만들 수 있다.

 

public class DataTransformer {
    public static TransformedData transform(Data data) {
        // 데이터 변환 로직
        // ...
        return transformedData;
    }
}

public class DataSaver {
    public static void save(TransformedData data) {
        // 데이터 저장 로직
        // ...
    }
}

7. 모든 엔티티를 작게 유지한다.

 

8. 3개 이상의 인스턴스 변수를 가진 클래스를 쓰지 않는다.

 

9. getter / setter / 프로퍼티를 쓰지 않는다.