Jwhy's Blogitory
close
프로필 배경
프로필 로고

Jwhy's Blogitory

  • 분류 전체보기 (128)
    • Book Study (49)
      • [Java] 이펙티브 자바 (19)
      • [Kotlin] 코틀린 코루틴 (6)
      • [Kotlin] 코틀린 인 액션 (4)
      • [Kotlin] 객체에서 함수로 (4)
      • [Web] 웹을 지탱하는 기술 (9)
      • [Web] HTTP2 IN ACTION (5)
      • [Spring] 토비의 스프링 3.1 (0)
      • [Theory] 출.스.마 (1)
      • [CS] 누구나 자료구조와 알고리즘 (1)
    • Devlog (13)
      • Kotlin (1)
      • Project (3)
      • Java (0)
      • Git (3)
      • AI (5)
      • 회고 (1)
    • Kotlin (13)
      • 이론 (1)
      • 기능 정리 (1)
      • [Inflearn] 코틀린 입문 (11)
    • Spring (29)
      • 이론 (1)
      • 프로젝트 (1)
      • 트러블 슈팅 (14)
      • 기능 정리 (12)
      • 리뷰 (1)
    • Java (2)
      • 이론 (2)
    • PS (18)
      • 이론 (1)
      • DFS, BFS, 백트래킹, 다익스트라 (11)
      • DP (2)
      • 이분 탐색 (1)
      • 구현, 시뮬레이션 (1)
      • 그리디 (2)
    • DevOps (4)
      • AWS (4)
  • 홈
  • 태그
  • 방명록

[Kotlin] 두 객체의 서로 다른 필드의 값 찾기

🛠️ 개발 환경 kotlin : 1.8.22 💬 상황 설명 회사에서 개발을 하던 중, 동일한 클래스에 대한 두 인스턴스의 값을 비교해 다른 부분을 찾아 프론트에서 보여주는 로직이 필요했다. enum class PostCategory(val title: String) { C1("자유 게시판"), C2("정보 게시판") override fun toString(): String { return title } } class Post() { var title: String = "" var content: String = "" var isDeleted: Boolean = false var category: PostCategory = PostCategory.C1 var writer: Member } 예를 들어, 위와..

  • format_list_bulleted Devlog/Kotlin
  • · 2024. 2. 7.
  • textsms

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

Effective Java 3/E를 공부하며 작성한 글입니다. 혼자 공부하고 정리한 내용이며, 틀린 부분은 지적해주시면 감사드리겠습니다 😀 가변인수와 제네릭 가변인수(varargs) 메소드와 제네릭은 JDK 5에서 함께 추가되었으니 잘 어우러지리라 기대하겠지만, 그렇지 않다. 가변인수는 메소드에 넘기는 인수의 개수를 클라이언트가 조절할 수 있게 해준다. public class VarargsTest { @Test void argsTest() { printArgs(1, 2, 3, 4, 5); } public void printArgs(int... args) { for (int arg : args) { System.out.printf("%d ", arg); } } } 가변인수 메소드를 호출하면 해당 인수들을 ..

  • format_list_bulleted Book Study/[Java] 이펙티브 자바
  • · 2023. 12. 27.
  • textsms

[Item31] - 한정적 와일드카드를 사용해 API 유연성을 높이라.

Effective Java 3/E를 공부하며 작성한 글입니다. 혼자 공부하고 정리한 내용이며, 틀린 부분은 지적해주시면 감사드리겠습니다 😀 상위 타입과 하위 타입의 호환 매개변수화 타입은 불공변(invariant)이다. 서로 다른 Type1, Type2가 있다고 가정해보자. List은 List의 하위 타입도, 상위 타입도 아니다. 이 말은 즉, List은 List의 하위 타입이 아니라는 뜻과 동일한 것이다. public class ListTest { @Test void listTest() { List objList = new ArrayList(); List strList = new ArrayList(); objList.add(strList); } } 위 코드를 보면 objList는 어떤 객체든 넣을 수 ..

  • format_list_bulleted Book Study/[Java] 이펙티브 자바
  • · 2023. 12. 27.
  • textsms

[Kotlin] - 코틀린에서 object 키워드를 다루는 방법

자바 개발자를 위한 코틀린 입문을 공부하며 작성한 글입니다. 혼자 공부하고 정리한 내용이며, 틀린 부분은 지적해주시면 감사드리겠습니다 😀 static 함수와 변수 자바에서 정적 함수를 사용하려면 아래 코드와 같이 static 키워드를 사용한다. public class JavaPerson { private static final int MIN_AGE = 1; private String name; private int age; private JavaPerson(String name, int age) { this.name = name; this.age = age; } public static JavaPerson newBaby(String name) { return new JavaPerson(name, MIN_..

  • format_list_bulleted Kotlin/[Inflearn] 코틀린 입문
  • · 2023. 12. 27.
  • textsms

[Item28] - 배열보다는 리스트를 사용하라.

Effective Java 3/E를 공부하며 작성한 글입니다. 혼자 공부하고 정리한 내용이며, 틀린 부분은 지적해주시면 감사드리겠습니다 😀 타입 차이 배열과 제네릭 타입에는 중요한 차이가 두 가지 있다. 공변과 불공변 실체화(reify) 공변과 불공변 배열은 공변;함께 변한다(covariant)이다. Sub가 Super의 하위 타입이라면, Sub[]는 Super[]의 하위 타입이 된다. Long은 Object의 하위에 속해있기 때문에 Object[]와 Long[]은 함께 사용이 가능하다. @Test void objArrTest() { Object[] objectArr = new Long[1]; // 런타임 에러 발생 : java.lang.ArrayStoreException: java.lang.String..

  • format_list_bulleted Book Study/[Java] 이펙티브 자바
  • · 2023. 12. 15.
  • textsms

[Item26] - 로 타입은 사용하지 말라.

Effective Java 3/E를 공부하며 작성한 글입니다. 혼자 공부하고 정리한 내용이며, 틀린 부분은 지적해주시면 감사드리겠습니다 😀 제네릭 제네릭(generic)은 자바 5부터 사용할 수 있으며, 안정적인 형변환을 할 수 있도록 지원하는 타입이다. 제네릭은 클래스 혹은 인터페이스에 타입 매개변수를 통해 붙여 사용할 수 있다. public class ArrayList {...} public interface List {...} 이러한 형태를 제네릭 클래스 혹은 제네릭 인터페이스라고 부르며, 이를 통 틀어서 제네릭 타입이라고도 부른다. 매개변수화 타입 각각의 제네릭 타입은 일련의 매개변수화 타입(Parameterized type)을 정의한다. public class ArrayList {...} 위 코..

  • format_list_bulleted Book Study/[Java] 이펙티브 자바
  • · 2023. 12. 15.
  • textsms
  • navigate_before
  • 1
  • ···
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • ···
  • 22
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (128)
    • Book Study (49)
      • [Java] 이펙티브 자바 (19)
      • [Kotlin] 코틀린 코루틴 (6)
      • [Kotlin] 코틀린 인 액션 (4)
      • [Kotlin] 객체에서 함수로 (4)
      • [Web] 웹을 지탱하는 기술 (9)
      • [Web] HTTP2 IN ACTION (5)
      • [Spring] 토비의 스프링 3.1 (0)
      • [Theory] 출.스.마 (1)
      • [CS] 누구나 자료구조와 알고리즘 (1)
    • Devlog (13)
      • Kotlin (1)
      • Project (3)
      • Java (0)
      • Git (3)
      • AI (5)
      • 회고 (1)
    • Kotlin (13)
      • 이론 (1)
      • 기능 정리 (1)
      • [Inflearn] 코틀린 입문 (11)
    • Spring (29)
      • 이론 (1)
      • 프로젝트 (1)
      • 트러블 슈팅 (14)
      • 기능 정리 (12)
      • 리뷰 (1)
    • Java (2)
      • 이론 (2)
    • PS (18)
      • 이론 (1)
      • DFS, BFS, 백트래킹, 다익스트라 (11)
      • DP (2)
      • 이분 탐색 (1)
      • 구현, 시뮬레이션 (1)
      • 그리디 (2)
    • DevOps (4)
      • AWS (4)
최근 글
인기 글
최근 댓글
태그
  • #스프링 배포
  • #백준
  • #제네릭
  • #코틀린
  • #자바
  • #java
  • #kotlin
  • #백트래킹
  • #이펙티브 자바
  • #이펙티브자바
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바