반응형
정확히는 10일차가 아니긴 한데.. 처음에 쉬는 날 없이 하다가 주말에는 쉬는게 더 좋을 것 같다. 보상이 없으니까 평소에 더 집중하기 어려웠다. 그래서 토요일은 하루의 절반 정도, 일요일은 하루를 푹 쉬기로 했다.
결론은 TIL은 평일 + 가능하면 토요일에 쓴다. ㅋㅋㅋㅋ
오늘 한 일
- 블로그 목차 라이브러리를 만들었다.
- Jquery로 간단하게 만들었다.
- 개인적으로 목차가 포스트 위에 있으면 스크롤 하기도 귀찮고, 나중에 목차를 확인하기도 어려워서 좋아하지 않는다. 그래서 사이드바 부분에 플로팅되는 목차를 만들려고 했는데, 지금 사용하는 Square 스킨이 메인 화면에 여러 포스트가 등장하는 구조라서 스크롤 위치에 따라 목차를 바꾸고, 사이드바에 배치해야 하는데 그러면 모바일 환경에서는 어떻게 할지 결정해야 했다. 그래서 일단 간단하게 만들어서 쓰고 있다.
- 내배캠 강의 자바 3주차 강의를 들었다.
- 이번 주차는 클래스와 객체지향에 관한 내용이다. 거의 다 아는 내용이라서 훑으면서 복습했다.
- 3주차 숙제가 객체지향적으로 생각할 수 있는 과정을 Step 별로 나눠줘서 좋았다. 계산기 클래스가 연산자에 대한 책임을 연산 클래스에 위임해서, 계산기는 연산자를 모르게 만드는 설계였다. 추상화와 다형성을 사용해서 클래스 간의 결합도를 낮추고, 의존성을 줄였다.
// 개선 전
public class Calculator {
private final AddOperation addOperation;
private final SubstractOperation substractOperation;
private final MultiplyOperation multiplyOperation;
private final DivideOperation divideOperation;
public Calculator(AddOperation addOperation, SubstractOperation substractOperation,
MultiplyOperation multiplyOperation, DivideOperation divideOperation) {
this.addOperation = addOperation;
this.substractOperation = substractOperation;
this.multiplyOperation = multiplyOperation;
this.divideOperation = divideOperation;
}
public double calculate(String operator, int firstNumber, int secondNumber) {
double answer = 0;
if(operator.equals("+")){
answer = addOperation.operate(firstNumber, secondNumber);
}else if(operator.equals("-")){
answer = substractOperation.operate(firstNumber, secondNumber);
}else if(operator.equals("*")){
answer = multiplyOperation.operate(firstNumber, secondNumber);
}else if(operator.equals("/")) {
answer = divideOperation.operate(firstNumber, secondNumber);
}
return answer;
}
}
// 개선 후
public class Calculator {
private AbstractOperation operation;
public Calculator(AbstractOperation operation) {
this.operation = operation;
}
public void setOperation(AbstractOperation operation) {
this.operation = operation;
}
public double calculate(int firstNumber, int secondNumber) {
double answer = 0;
answer = operation.operate(firstNumber, secondNumber);
return answer;
}
}
반응형
'TIL' 카테고리의 다른 글
[TIL] 내일배움캠프 12일차 (0) | 2023.10.19 |
---|---|
[TIL] 내일배움캠프 11일차 (0) | 2023.10.17 |
[TIL] 내일배움캠프 6일차 (0) | 2023.10.10 |
[TIL] 내일배움캠프 5일차 (0) | 2023.10.10 |
[TIL] 내일배움캠프 4일차 (0) | 2023.10.09 |