일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 나동빈
- 우아한테크코스
- Hackathon
- Payload
- 이것이취업을위한코딩테스트다
- CICD
- 컴공선배
- forloop
- 우테코
- remove
- github action
- equlas
- 딕셔너리
- loop
- 너디너리
- ssh-action
- CMC
- 동일성
- 동등성
- JWT
- object
- 이코테
- 해커톤
- nestJS
- 라이징캠프
- 왕실의나이트
- makeus
- Signature
- HashCode
- 동빈북
- Today
- Total
목록공부기록/Java (5)
iamjooon2님의 블로그

우아한테크코스 방학을 맞아, 여유롭게 레벨 2 내용을 정리하고 있다. 미션 진행 중 리뷰어님께서 남겨준 AutoBoxing, AutoUnBoxing에 대해 직접 실험해보려 한다. 이전까지 내가 알고 있던 것은 Wrapper 클래스를 사용하면 AutoBoxing과 AutoUnBoxing을 하는 과정에서 성능 차이가 발생한다는 것이었다. 하지만 그 차이가 얼마나 유의미하게 차이나는지는 몰라, 내 두 눈으로 직접 보려고 한다! GPT와의 페어프로그래밍으로 아래와 같은 코드를 뽑아냈다...! public class AutoBoxingTest { public static void main(String[] args) { int[] primitiveArray = new int[1_000_000]; Integer[] ..
// for loop List cards = new ArrayList(); for (Denomination denomination : Denomination.values()) { for (Suit suit : Suit.values()) { cards.add(new Card(denomination, suit)); } } // stream final List = Arrays.stream(Denomination.values()) .flatMap(denomination -> Arrays.stream(Suit.values()) .map(suit -> new Card(denomination, suit))) .collect(Collectors.toUnmodifiableList());
Java의 final은 크게 변수, 메서드, 클래스에 붙여줄 수 있는 키워드이다 이 final이 붙은 대상은, 재할당이 불가능하다 (불변을 의미하진 않는다) final은 변수에서 다음과 같이 사용할 수 있다 예시는 자동차 경주 게임이다. public class Car { private static final THROTTLE = 4; // 상수에 사용 private final String owner; // 재할당 불가 private int position; // 재할당 가능 public Car(final String name) { // 파라미터에도 붙일 수 있음 this.owner = name; this.position = 0; } public void move(final int power) { if (p..
우아한테크코스에서 페어프로그래밍을 진행하며 얻을 수 있는 큰 장점은 페어의 지식을 흡수할 수 있다는 것과, 다양한 코드 스타일을 알 수 있다는 것이다. 또한 내가 무의식적으로 사용하던 것들을 설명할 수 있어야 하는데 이 과정에서 내가 알고 있는 것이 진짜 알고 있는 것이 아니라는 것 역시 알게 된다. 방어적 복사에 대해 알게 된 것도 이 페어프로그래밍 덕분이다 무의식적으로 getter를 자동완성으로 만들었는데, 페어가 '방어적 복사로 감싸서 보내자!'고 의견을 냈다 그리고 난 대답하지 못했다.... 그래서 방어적 복사는 뭘까? 코드와 함께 보자 public class Player { private final String name; private List cards; public Player(String ..
우아한테크코스 적응하는데 시간이 꽤 걸렸다 어느정도 적응했으니, 그동안 기술부채로 남겨둔 궁금한 것들을 시간나는대로 모두 정리할 것이다 이 블로그는 흔하디 흔한 개발자 이력서에 적을 보여주기식 블로그가 아닌 내가 다시 보고 싶어서, 내 멋대로 정리하고 적는 글들의 집합이다 잘 알아서 적는 것이 아닌, 잘 알고싶어서 쓰는 글들이다. 아무도 안보겠지만, 혹시 틀린 것이 있다면 지적해주시면 감사하겠습니다. 모든 원시값을 포장하라 우아한테크코스에서 강조하는 객체지향 생활체조 9가지 중 하나이다 저 요구사항을 만족시키기 위해 포장한 VO를 볼 때마다, 항상 equals, hashcode가 재정의 되어있었다 그리고 이에 대해 찾아보면 동일성과 동등성이라는 키워드가 꼭 하나씩 붙어있다 이건 대체 뭘까? 이름이라는 S..