데브코스 백엔드 3기 5일차
오티까지 포함해서 8일차였다..!
담주부터 반영하기ㅎ
Dependency
build.gradle
- 외부에 의존성이 있는 라이브러리 설치
- dependencies : MavenCentral이란 저장소에서 프로젝트 찾아서 jar파일 가져와 빌드
숫자야구게임 설계하기
- 요구사항 파악
- 게임 룰 이해
- 동작환경 : console상에서 동작
- 데이터의 범위 : 3자리 숫자 사용, 중복된 숫자x, 1-9 사용(0사용안함)
- 일을 객체로 나누기 / 객체를 연관짓기
- 핵심로직설계(Flow Chart)
- Engine
- BaseBall
- NumberGenerator
- IO
- Input
- Output
- Model
- BallCount
- Numbers : 입력받을 데이터
- Application
- App
- Console
- FakerNumberGenerator
- HackFakerNumberGenerator
- Flow Chart
첫 RBF
- 왜 equals() 와 hashCode() 는 같이 재정의해야하는가?
- hasCode() : 객체의 해시코드 값을 리턴
- 객체가 변경됐더라도 equals()가 참고하는 정보가 변경되지 않았다면 hashCode 값은 달라지지 않음
- equals()
- equals()가 같다고 판별한 두 객체의 hashCode 호출 결과는 똑같은 integer 값이어야함
(<-> 반드시 달라야 하는 것은 아니지만, 같지 않은 객체들이 각기 다른 hashCode 값을 가지면 해시 테이블 성능이 향상됨)
- equals()가 같다고 판별한 두 객체의 hashCode 호출 결과는 똑같은 integer 값이어야함
- hasCode() : 객체의 해시코드 값을 리턴
- String 에서
+
연산 & Constant Pool 이란?String str1 = "Hello";
=> Constant Pool에 들어감
=>String str2 = "Hello";
=> Heap영역의 Constant Pool에서 “Hello”가 있는지 찾아봄
=> 있네! 같은곳을 가리킴String str3 = new String("Hello");
String str4 = new String("Hello");
=> Heap영역에서 각자 다른 공간을 가짐
- StringBuilder vs StringBuffer
- 동기화 & 그에 따른 속도
- Abstract Class 와 Interface의 차이는?
- 요거는 얘기도 많이나누고 오래걸렸는데도 어려웠던 주제!
- 객체와 인스턴스의 차이는?
- 붕어빵 예시 기억하기
- 클래스 : 붕어빵틀
- 객체 : 붕어빵
- 인스턴스 : JVM에 할당된 구현된 실체, 각각의 붕어빵
- call by value vs call by reference
- => 자바는 call by value이다!
일기(회고)
- 실습프로젝트 강의에서 코드를 보는데 Stream, Lamda가 들어가니까 코드이해 속도가 너무 느려서 당황스러웠다
나만 이렇게 이해가 안되나 코드조차 이해가 안되다니???
물음표 백만개와 함께 살짝 가라앉고 조급해졌었는데,
조급해한다고 잘하는게 아니니까 익숙해지도록 코드를 여러번 오래 들여다봤다
직접 써보면 더 익숙해질거고, 그렇게 되도록 할거다!
- R팀과 팀교류미팅
- 팀교류미팅 시간에 자기소개 + 서로의 스크럼문화 공유 + 스크리블 겜
- 나랑 데브코스 면접 같이 본 분이 계셔서 너무 반가웠다!
- 첫 RBF 시간을 가졌다 RBF라는 단어가 마음에 든다
서로 궁금해하던 주제에 대해 공유하고 얘기를 나누었다
이런 시간은 처음 가져봐서 낯설면서도 재미있었다
다음주 RBF시간에는 더 많이 공부해서 더 많은 궁금증을 공유하고 나도 대답해야G
- 디자인패턴과 자바심화를 공부하면 할수록 내가 여태까지 짠 로직에 대해 돌아보게 된다
기능 돌아가는 것에만 초점을 두었구나 싶었고 앞으로 배울 것이 더 기대가 된다
진짜 자바(?)를 하게쏘
- 1주일이 호로록 끝낫다!
이걸 19번 하면 끝이라는 말에 짧게 느껴진다
화이팅~!~!~!