객체 지향 프로그래밍(3)
-
단일 책임 원칙, 하나의 객체는 하나의 책임을 갖는다.
SOLID 원칙 중 'S' 하나의 객체가 하나의 책임만 져야한다! → 클래스를 단 한 가지의 목표만 가지고 작성해야 한다는 것을 의미한다. 애플리케이션 전반에서 높은 유지보수성과 가시성 제어 기능을 유지하는 원칙이다. 만약 클래스 하나가 여러 개의 목표를 가지고 있는 경우에는? 단일 책임 원칙을 따르지 않는 경우 직사각형 면적을 구하고 단위를 변환하는 문제를 다음과 같은 클래스에서 구현할 수 있다. package SingleResponsePrinciple; public class RectangleAreaCalculator { private static final double INCH_TERM = 0.0254d; private final int width; private final int height; p..
2023.03.14 -
자바, 객체야~ 일해라!
우아한테크코스의 프리코스부터 레벨 1을 진행하는 지금까지 배운 것 중에 가장 인상 깊은 내용이 무엇인가?하고 물어보면 나는 곧바로 “객체가 일하도록 해라!”라는 내용을 말할 것이다. ‘객체는 객체스럽게 사용한다.’ 우아한테크코스 프리코스 기간 중에 받았던 피드백 중에는 다음과 같은 내용이 있었다. 이는 무분별한 getter 사용을 자제하고 객체가 스스로 일하게끔 하라는 의미였다. 이를테면 다음과 같은 코드가 있다고 가정해보자. (Line 클래스는 생략…) 사다리 게임을 진행하는 코드의 예시이다. 플레이어는 위치에 대한 정보를 가지고 있고, 플레이어의 위치를 line에 전달했을 때 사다리가 어디로 연결되어있는지 확인할 수 있는 코드이다. Player는 getter와 setter를 통해 플레이어의 현재 위치..
2023.02.27 -
우아한 테코톡(7), 상속과 조합
본 포스팅은 우아한Tech의 테코톡 클레이님의 상속과 조합 영상을 정리한 내용입니다. 상속과 조합의 특징 및 문제점을 위주로 정리했습니다. 상속과 조합 1. 상속의 문제 1) 상속이란? 기존에 정의되어있는 클래스의 필드, 메소드를 물려받아 새로운 클래스를 생성하는 기법 2) 상속의 장점 (1) 중복 코드를 제거하고 기능 확장을 쉽게 할 수 있다. (2) 클래스들의 계층적인 구조를 만들 수 있다. 3) 상속의 문제점 (1) 하위 클래스가 상위 클래스의 구현에 의존하기 때문에 상위 클래스가 변경될 경우 취약하다. 즉, 상속은 부모 클래스와 강하게 의존하고, 부모 클래스의 캡슐화를 해치며 결합도가 높아진다는 단점이 있다. 따라서 부모 클래스의 구현을 변경하면 많은 자식 클래스를 모두 변경해야하는 상황이 발생할..
2022.08.18