[Effective Java] 생성자 대신 Static Factory Method를 고려하라
개발/Java
/ 2024. 11. 8.
Item 1. 생성자 대신 정적 팩터리 메서드를 고려하라정적 팩터리 메서드(Static Factory Method)는 클래스에 정적 메서드를 정의하고, 생성자 대신 객체를 생성할 수 있게 만드는 기법입니다. 간단하게 정리하면 Method 호출 방식으로 객체를 생성하는 것입니다.대표적인 예로 Java의 Wrapper 클래스에서 사용되는 것을 확인할 수 있습니다. 그 중 하나인 Boolean은 다음과 같은 API를 제공합니다.public static Boolean valueOf(boolean b) { return b ? Boolean.TRUE : Boolean.FALSE;} public static void main(String args[]) { Boolean bool1 = new Boolean(tru..
[JAVA 파헤치기] 예외 처리(Exception handling)
개발/Java
/ 2022. 6. 29.
안녕하세요😎 백엔드 개발자 제임스입니다 :) 이번 포스팅은 자바에서 예외를 처리하는 방법에 대해서 정리하도록 하겠습니다. 우리는 프로그램 실행 중, 어떤 원인에 의해서 오작동을 하거나 비정상적으로 종료되는 것을 경험한 적이 있을 것입니다. 이러한 결과를 초래하는 원인을 프로그램 에러 또는 오류라고 합니다. 에러는 발생한 시점에 따라 다양하게 나눌 수 있습니다. 컴파일 에러 : 컴파일 시에 발생하는 에러 런타임 에러 : 실행 시에 발생하는 에러 논리적 에러 : 실행은 되지만, 의도와 다르게 동작하는 에러 만약 프로그램이 실행된 상태에서 에러가 발생하면 프로그램은 어떻게 될까요? 아마 에러에 의해서 잘못된 결과를 얻거나, 프로그램이 비정상적으로 종료됩니다. 가령 중요한 프로그램 또는 웹이었다면 큰 문제가 될..
[JAVA 파헤치기] 제네릭(Generic) 완벽 정리
개발/Java
/ 2022. 5. 22.
안녕하세요😎 백엔드 개발자 제임스입니다 :) 오늘은 자바의 제네릭(Generic)에 대해서 포스팅하도록 하겠습니다. 제네릭은 알고있으면 굉장히 유용한 개념인데요. 이는 우리가 만드는 클래스 또는 메서드를 다양하게 활용할 수 있도록 만들어주는 방법입니다. 아래에서 자세하게 알아보도록 하겠습니다. 목차 1. 제네릭(Generic)은 무엇일까요? 2. 타입 매개변수 3. 제네릭 메서드 1. 제네릭(Generic)은 무엇일까요? 제네릭 : 클래스 내부에서 사용할 데이터 타입을 외부에서 파라미터 형태로 지정하면서, 데이터 타입을 일반화한 것입니다. *참고 사전적 의미는 "일반적인"입니다. 제네릭은 클래스 및 인터페이스 이름 뒤에 '' 안에 타입 파라미터를 넣어 작성합니다. public class 클래스명{...}..
[JAVA 파헤치기] 필드(Field)와 메서드(Method) 쉽게 이해하기 2 - 메서드
개발/Java
/ 2022. 5. 16.
https://kang-james.tistory.com/entry/%EC%9E%90%EB%B0%94-%ED%8C%8C%ED%97%A4%EC%B9%98%EA%B8%B0-%ED%95%84%EB%93%9CField%EC%99%80-%EB%A9%94%EC%84%9C%EB%93%9CMethod-%EC%89%BD%EA%B2%8C-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-1-%ED%95%84%EB%93%9C [자바 파헤치기] 필드(Field)와 메서드(Method) 쉽게 이해하기 1 - 필드 안녕하세요 :) 백엔드 개발자 제임스입니다.😊😊 이번에 포스팅할 내용은 [필드와 메서드]입니다. 우리가 자바의 객체 지향 프로그래밍(OOP)을 학습하면, 가장 먼저 접하게 되는 개념인데요. 기 kang-..
[JAVA 파헤치기] 필드(Field)와 메서드(Method) 쉽게 이해하기 1 - 필드
개발/Java
/ 2022. 5. 15.
안녕하세요 :) 백엔드 개발자 제임스입니다.😊😊 이번에 포스팅할 내용은 [필드와 메서드]입니다. 우리가 자바의 객체 지향 프로그래밍(OOP)을 학습하면, 가장 먼저 접하게 되는 개념인데요. 기본이면서도, 정말 중요한 개념입니다. 이러한 이유로 사실 우리는 필드와 메서드에 대해서 어느 정도 알고 있습니다. 그렇죠?? 🧐 만약 기억이 잘 안 난다면 아래 내용을 참고해볼까요? * 참고 - 클래스의 구성 요소인 필드와 메서드 - 필드(Field) : 객체의 속성, '클래스의 포함된 변수' - 메서드(Method) : 객체의 기능, '특정 작업을 수행하는 일련의 명령문들의 집합' 그럼에도 여전히 필드와 메서드가 어려운 분들이 있을 것이라 생각합니다. 따라서 이번 포스팅은 해당 개념과 친해지지 못하신 분들을 대상으..
[JAVA 파헤치기] Arrays, System.arraycopy 를 활용하여 배열 다루기
개발/Java
/ 2022. 5. 9.
안녕하세요😎 백엔드 개발자 제임스입니다 :) 오늘은 프로그래밍의 기초 개념인 배열에 관해서 포스팅하려고 합니다. 포스팅하기 전에! 이번 포스팅은 배열의 기본적인 개념을 알고 있다는 가정하에 정리했음을 미리 알립니다. 따라서 이번 주제는 [배열 다루기] 입니다! :) 배열을 다루는 방법은 굉장히 많은데요. 그중에서 Arrays와 System.arraycopy에 대해서 설명하겠습니다. 여기서 배열을 다룬다는 의미는 배열을 복사하거나 추가, 삭제 등 다양한 기능을 의미합니다. 이제 자세하게 설명을 하도록 하겠습니다. 1. System.arraycopy() arrayclass는 이름 그대로 배열을 복사하는, System 클래스의 메서드입니다. 해당 메서드는 반환을 하지 않는 void입니다. void arrayc..