개발 공부 기록

개발 공부 기록

  • 분류 전체보기 (190)
    • spring (41)
      • JPA (19)
      • TEST (4)
      • 비동기 처리 (4)
      • SECURITY (1)
      • BATCH (0)
      • WebFlux (0)
    • 문제풀이 (2)
      • 백준 (2)
      • 프로그래머스 (0)
    • java (43)
      • java (39)
      • servlet_jsp (3)
      • jdbc (1)
    • 프론트 (7)
      • html (6)
      • css (1)
    • DB (12)
      • Oracle-기초 (8)
      • Mysql-기초 (4)
      • Redis (0)
    • CS (4)
      • Network (4)
      • 디자인 패턴 (0)
    • Project (0)
      • e-commerce (0)
    • Book (66)
      • 이펙티브 자바 (55)
      • 클린코드 (0)
      • 모던 자바 인 액션 (11)
  • 홈
  • 태그
  • 방명록
RSS 피드
로그인
로그아웃 글쓰기 관리

개발 공부 기록

컨텐츠 검색

태그

스트림 최적화 이펙티브 자바 디폴트 메서드 메서드 참조 JPA 람다식 상속 단위 테스트 제네릭 Collector 조인 람다 배열 가변인수 통합 테스트 Enum DSL 영속성 인터페이스

최근글

댓글

공지사항

아카이브

제네릭(4)

  • Item32 - 제네릭과 가변인수를 함께 쓸 때는 신중하라

    가변인수(varargs) 메서드와 제네릭은 자바 5 때 함께 추가되었으나 잘 어울리지 못한다. 가변인수는 메서드에 넘기는 인수의 개수를 클라이언트가 조절할 수 있게 한다. static void varargs(String... strArr) { Object[] objects = strArr; String s = (String) objects[0]; System.out.println(s); } public static void main(String[] args) { varargs("there", "will", "hi"); } -> "there" 가빈인수 메서드를 호출하면 가변인수를 담기 위한 배열이 자동으로 하나 만들어진다. => strArr 이 varargs 매개변수에 제네릭이나 개변수화 타입이 포함되면 ..

    2023.12.08
  • Item29 - 이왕이면 제네릭 타입으로 만들라

    클라이언트에서 직접 형변환해야 하는 타입보다 제네릭 타입이 더 안전하고 쓰기 편하다. public class Stack { private Object[] elements; private int size = 0; private static final int DEFAULT_INITIAL_CAPACITY = 16; public Stack() { elements = new Object[DEFAULT_INITIAL_CAPACITY]; } public void push(Object e) { ensureCapacity(); elements[size++] = e; } private void ensureCapacity() { if (elements.length == size) { elements = Arrays.copy..

    2023.12.06
  • Item26 - 로 타입은 사용하지 말라

    - 런타임이 아닌 컴파일 타임에 문제를 찾을 수 있다.(안전성) - 제네릭을 활용하면 이 정보가 주석이 아닌 타입 선언 자체에 녹아든다(표현력) public static void main(String[] args) { //Generic 사용전 List numbers = new ArrayList(); numbers.add(10); numbers.add("son"); for (Object number : numbers) { System.out.println((Integer) number); => 런타임 에러 } //Generic 등장 후 List numberss = new ArrayList(); numberss.add(10); numberss.add("son"); => 컴파일 에러 for (Object nu..

    2023.12.04
  • Generic

    1] 왜 제네릭을 사용해야 할까? Java 5부터 제네릭 타입이 새로 추가되었다. 제네릭 타입을 이용함으로써 잘못된 타입이 사용될 수 있는 문제를 컴파일 과정에서 제거할 수 있게 되었다. 제네릭은 컬렉션, 람다식, 스트림, NIO에서 널리 사용되므로 확실히 애해해 두어야 한다. 제네릭을 사용하는 코드는 비제네릭 코드에 비해 다음과 같은 이점을 가지고 있다. 컴파일 시 강한 타입 체크를 할 수 있다. 자바 컴파일러는 코드에서 잘못 사용된 타입 때문에 발생하는 문제점을 제거하기 위해 제네릭 코드에 대해 강한 타입 체크를 해 컴파일 타임에 에러를 체크한다. 타입 변환을 제거한다. 비제네릭 코드는 불필요한 타입 변환을 하기 때문에 프로그램 성능에 악영향을 미친다. public static void main(St..

    2023.12.04
이전
1
다음
티스토리
© 2018 TISTORY. All rights reserved.

티스토리툴바