[우아한테크코스] 3월 19일 TIL

less than 1 minute read

오늘 배운 것

  1. 체스 미션 진행
  2. 엘레강트 자바 뽀개기

체스 미션 진행

  1. Integer.compare(int,0)
    int가 양수면 1 음수면 -1 0이면 0
  2. getRow(), getColumn 메서드가 너무 많다.
    target에 메시지를 보내면 되는 것을 게터로 얻어오는 건 아닌지
  3. board의 2차원 배열의 필요성
    64개의 기물이 생성되어 있고, 계속 교체해 가며 나아갈 수 있다.
    그렇지만 지금 방식으로서는 덮어씌우며 계속 empty 기물을 만드는 방식이다.
    각 기물에 point가 존재하므로 board에는 pieces로 List만 존재해도 될 수도 있다.
  4. 이중 포문의 제거

  5. Optional의 사용
    .get()은 null이 반환될 수 있어서 사용에 주의가 표시된다.
    .orElse()의 경우에는 원하는 값이 empty거나 없는 경우 무엇을 뱉겠니? 라는 것으로 Optional의 제네릭 타입으로 전해준 요소가 안에 있어야 한다.
    .orElseThrow()의 경우에는 없으면 에러
    .orElseGet()은 새로운 객체나 연산을 수행하는 경우에 사용
    Optional.of()의 경우에는 괄호 안에 원하는 값을 원하는 제네릭 타입으로 얻어내는 것
  6. instanceOf 줄이기
    instanceOf는 객체지향에서 다형성으로 해결할 수 있다. 다형성과 ocp 공부하고 줄이기