자바6 [책 부수기] 아이템 1. 생성자 대신 정적 팩터리 메서드를 고려하라 이펙티브 자바 아이템1 요약 정적 팩터리 메서드의 장점은 다음과 같습니다. 이름을 가질 수 있다. 호출될 때마다 인스턴스를 새로 생성하지는 않아도 된다. 반환 타입의 하위 타입 객체를 반환할 수 있는 능력이 생긴다. 입력 매개변수에 따라 매번 다른 클래스의 객체를 반환할 수 있다. 정적 팩터리 메서드를 작성하는 시점에는 반환할 객체의 클래스가 존재하지 않아도 된다. 정적 팩터리 메서드의 단점은 다음과 같습니다. 상속을 하려면 public 이나 protected 생성자가 필요하니 정적 팩터리 메서드만 제공하면 하위 클래스를 만들 수 없다. 정적 팩터리 메서드는 프로그래머가 찾기 어렵다. 다음은 정적 팩터리 메서드에 흔히 사용하는 명명 방식들이다. from : 매개변수를 하나 받아서 해당 타입의 인스턴스를 .. Java/Java 자료실 2023. 12. 7. [SOLID] 단일책임원칙(SRP)과 God Object(신 객체) 안녕하세요. 단일 책임 원칙과 신 객체가 무엇인지 알아보려고 합니다. 단일 책임 원칙 - 책임이란 뭘까? 단일 책임 원칙은 SOLID 원칙 중 S 에 해당합니다. Single Responsibility Principle (SRP) 이라고 불립니다. 아래는 위키 백과의 설명 중 일부입니다. 모든 클래스는 하나의 책임만 가지며, 클래스는 그 책임을 완전히 캡슐화해야 함을 일컫는다. 클래스가 제공하는 모든 기능은 이 책임과 주의 깊게 부합해야 한다. ... 로버트 마틴은 책임을 변경하려는 이유로 정의하고, 어떤 클래스나 모듈은 변경하려는 단 하나 이유만을 가져야 한다고 결론 짓는다. 예를 들어서 보고서를 편집하고 출력하는 모듈을 생각해 보자. 이 모듈은 두 가지 이유로 변경될 수 있다. 첫 번째로 보고서의 내.. Java/Java 자료실 2023. 11. 22. 자바에서 코틀린으로 : 코틀린으로 리팩터링하기 도서 리뷰 안녕하세요, 다람쥐입니다. 한빛미디어 나는리뷰어다 2023년 도서 서평단으로 '자바에서 코틀린으로 : 코틀린으로 리팩터링하기' 도서를 신청했습니다. 자바와 코틀린 프로그래밍 언어에 관심이 생겼고 자바 프로젝트를 코틀린 언어로 리팩터링하는 과정을 기록한 글이 코틀린 프로그래밍 언어를 배우는 것보다 더 재밌어 보여서 신청을 하게 됐습니다. 초반에는 자바 데이터 클래스를 위주로 코틀린 클래스로 변환하는 작업을 합니다. 그 과정에서 자바 클래스 코드와 코틀린 클래스 코드의 차이점을 알려주는데요. 직접 예제와 같이 알려줘서 코틀린 언어를 잘 몰라도 부담 없이 읽을 수 있었어요. 코틀린에만 있는 기능 중에 하나로 옵셔널이 있습니다. 코틀린의 옵셔널에 대해서 알아보고 자바 프로젝트에서 어떤 걸 옵셔널로 선정하여 변환.. 도서/IT 도서 2023. 2. 27. 한빛미디어 혼공학습단 9기 1주차 & 2주차 우수혼공족 선정 안녕하세요, 다람쥐입니다! 1월 초부터 한빛미디어 혼공학습단 9기 혼공자바로 알찬 방학 생활을 시작했습니다! 열심히 혼공자바 1주차 ,2주차 진도를 따라간 결과 우수혼공족으로 선정됐네요! 🎉🎉 혼공학습단 9기 1주차와 2주차 포스팅은 아래에 첨부했어요~ 2023.01.08 - [자유/대외 활동] - [혼공학습단 9기] #2. 자바 기본 정말 안다고 생각해? [혼공학습단 9기] #2. 자바 기본 정말 안다고 생각해? 안녕하세요! 여러분들의 궁금증을 해결해 줄 다람쥐입니다. 한빛미디어 혼공학습단 9기 혼공자바 1주차 포스팅입니다. 1주차는 혼공자바 Chapter 1 ~ 5 ( 자바 설치, 이클립스 설치, 변수와 타입, 연 itchipmunk.tistory.com 2023.01.10 - [자유/대외 활동] -.. 자유/대외 활동 2023. 1. 20. [혼공학습단 9기] #5. 3주차 자바 기본 API 클래스, 이건 몰랐을걸? 안녕하세요, 다람쥐 입니다! 한빛미디어 혼공학습단 9기 혼공자바 3주차 진도 중 두 번째 진도를 나갔습니다. 혼공학습단 9기 혼공자바 3주차 진도 중 두 번째 진도는 바로 자바 기본 API 클래스입니다. java.lang 패키지 java.lang 패키지는 자바 프로그램의 기본적인 클래스를 담고 있는 패키지입니다. 그래서 java.lang 패키지에 있는 클래스와 인터페이스는 import 없이 사용할 수 있는데요. 여태 사용한 java.lang 패키지에 포함된 클래스는 String 과 System 클래스가 있습니다. java.lang 패키지에 속하는 주요 클래스와 간략한 용도를 먼저 살펴보면 다음과 같습니다. Object : 자바 클래스의 최상위 클래스로 사용 System 표준 입력 장치(키보드)에서 데이터.. 자유/대외 활동 2023. 1. 17. [혼공학습단 9기] #4. 3주차 예외, 200% 이해하기 안녕하세요, 다람쥐 입니다. 벌써 한빛미디어 혼공학습단 9기 혼공자바 3주차 진도를 나가게 됐네요! 혼공 학습단을 하며 혼자 공부하는 자바를 공부하다보니 시간이 참 빠르네요! 연휴가 다가오니 설레기도 하네요. ☺️ 한빛미디어 혼공학습단 9기 혼공자바 3주차는 Chapter 10 ~ 11 입니다. 오늘 할 포스팅은 Chapter 10 예외 파트를 다루려고 하는데요~ 예외가 무엇인지, 어떻게 쓰는지 설명하고 예외 잘 쓰는 꿀팁들을 풀려고 합니다! 안 보면 손해입니다~ 😁 자바 개발 하다 한 번 쯤은 꼭 만나는 예외 아래 자바 코드를 실행하면 어떤 결과가 나올까요? public class Example { public static void main(String[] args) { int[] numberArray.. 자유/대외 활동 2023. 1. 17. 이전 1 다음