일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ineer join
- 스프링뼈대
- 자바 최소공배수
- string
- Git사용법
- isuppercase()
- 유클리드호제법
- while과 two-pointer
- git 컨벤션
- 동일성과 동등성
- 최대공약수
- string과 stringbuilder
- 자바 최대공약수
- toLowerCase()
- 자바 유클리드
- 자바 스트링
- 래퍼타입
- stringbuilder의 reverse()
- replaceAll()
- StringBuilder
- 최대공약수와 최소공배수
- 프로그래머스 레벨1
- 최소공배수
- 스프링
- 스프링환경설정
- islowercase()
- 모던자바
- addDoc
- sql 데이터형 변환
- 베주계수
- Today
- Total
주노 님의 블로그
20240731 본캠프 13일차 TIL 본문
본캠프 13일차 내용 간단요약
- 09:00 ~ 10:00 : 코드카타
- 10:00 ~ 10:30 : 개인 과제 마무리 및 제출
- 10:30 ~ 12:00 : 스프링 공부
- 12:00 ~ 13:00 : 점심시간
- 13:00 ~ 17:00 : 스프링 공부
- 17:00 ~ 18:30 : 밍글데이
- 18:30 ~ 19:30 : 저녁시간
- 19:00 ~ 21:00 : 스프링 공부
오늘 해야할 일✔️🔺❌
✔️ 개인 과제 제출
✔️ 스프링 공부
개인 과제 마무리
과제 3-2
필히 터질거라 생각되어 브랜치를 따로 파서 만들었다
다행히도 인텔리제이가 제안한 오류제거로 오류를 제거하였다
public abstract class AbstractOperation<T extends Number>
Number클래스를 만들어 모든 숫자 자료형이 들어오게했지만
public class AddOperator extends AbstractOperation<Number>{
@Override
Number operate(Number num1, Number num2) {
return num1.doubleValue() + num2.doubleValue();
}
}
결국엔 doubleValue()로 변환을 해서 연산을 수행하기때문에 기존과는 다를게 없다
문제점
1. Number 자체의 연산 기능이 없다
비교는 있지만 연산 메서드가 없어서 무언가로 바꿔야한다
ublic abstract class Number implements java.io.Serializable {
/**
* Constructor for subclasses to call.
*/
public Number() {super();}
/**
* Returns the value of the specified number as an {@code int}.
*
* @return the numeric value represented by this object after conversion
* to type {@code int}.
*/
public abstract int intValue();
/**
* Returns the value of the specified number as a {@code long}.
*
* @return the numeric value represented by this object after conversion
* to type {@code long}.
*/
public abstract long longValue();
/**
* Returns the value of the specified number as a {@code float}.
*
* @return the numeric value represented by this object after conversion
* to type {@code float}.
*/
public abstract float floatValue();
/**
* Returns the value of the specified number as a {@code double}.
*
* @return the numeric value represented by this object after conversion
* to type {@code double}.
*/
public abstract double doubleValue();
/**
* Returns the value of the specified number as a {@code byte}.
*
* @implSpec
* The default implementation returns the result of {@link #intValue} cast
* to a {@code byte}.
*
* @return the numeric value represented by this object after conversion
* to type {@code byte}.
* @since 1.1
*/
public byte byteValue() {
return (byte)intValue();
}
/**
* Returns the value of the specified number as a {@code short}.
*
* @implSpec
* The default implementation returns the result of {@link #intValue} cast
* to a {@code short}.
*
* @return the numeric value represented by this object after conversion
* to type {@code short}.
* @since 1.1
*/
public short shortValue() {
return (short)intValue();
}
/** use serialVersionUID from JDK 1.0.2 for interoperability */
@java.io.Serial
private static final long serialVersionUID = -8742448824652078965L;
2. 바꾸지 않고 사용할 방법이 있는가?
연산 메서드가 없어서 불가피하게 변환해야한다
아마도 모든 operator에 조건문 사용하여 instanceOf 를 사용하여 만들수 있을것 같다.
참고자료
https://cabi.oopy.io/00ba0ada-433f-4be0-ba1f-529994f34b68
https://travelbeeee.tistory.com/462
스프링 공부
섹션 2 회원도메인을 개발하며
회원 도메인 설계의 문제점
이 코드의 설계상 문제점은 무엇일까요?
다른 저장소로 변경할 때 OCP 원칙을 잘 준수할까요?
DIP를 잘 지키고 있을까요?
public class MemberServiceImpl implements MemberService {
private final MemberRepository memberRepository;
// 생성자에서 구체적인 구현체를 직접 생성함
public MemberServiceImpl() {
this.memberRepository = new MemoryMemberRepository();
}
MmeberServiceImpl 클래스에서 인터페이스 대신 구현체를 직접 생성하고 사용하고 있다
즉 구체적인 사항은 추상화에 의존해야한다는 DIP를 깨트린것이다
직접 생성하기때문에 MemoryMemberRepository를 변경하려면 Impl코드도 수정해야한다
OCP원칙을 지키지 않는다.
작성중......
오늘의 회고 & 12시간 몰입했는가?
오늘은 잠깐잠깐 팀원들이랑 얘기한다고 1시간 정도는 놀았던것같다
내일 프로젝트하려면 이정도는 얘기해놔야지!
일단 내일 프로젝트 요구사항 분석해보고, 주말에 개인과제 수정이나 다음주 주말에 개인과제 수정 들어가야겠다
'TIL' 카테고리의 다른 글
20240802 본캠프 15일차 TIL (0) | 2024.08.03 |
---|---|
20240801 본캠프 14일차 TIL (0) | 2024.08.01 |
20240730 본캠프 12일차 TIL (0) | 2024.07.30 |
20240729 본캠프 11일차 TIL (0) | 2024.07.29 |
20240726 본캠프 10일차 TIL (0) | 2024.07.26 |