java
-
toString을 항상 재정의하라JAVA/Effective java 2021. 1. 19. 12:30
Object의 기본 toString 메서드가 우리가 작성한 클래스에 적합한 문자열을 반환하는 경우는 거의 없다. 이 메서드는 단순히 클래스_이름@16진수로_표시한_해시코드 를 반환할 뿐이다. toString의 일반 규약에 따르면 '간결하면서 사람이 읽기 쉬운 형태의 유익한 정보'를 반환해야 한다. 이 같은 toString을 잘 구현한 클래스는 사용하기에 훨씬 즐겁고, 그 클래스를 사용한 시스템은 디버깅하기 쉽다. toString메서드는 객체를 println, printf, 문자열 연결, assert 구문에 넘길 때, 혹은 디버거가 객체를 출력할 때 자동으로 불리고 이는 직접 호출되지 않더라도 다른 어딘가에서 쓰일 거란 이야기이다. 또 작성한 객체를 참조하는 컴포넌트가 오류 메시지를 로깅할 때 자동으로 호..
-
Try-Finally 대신 Try-with-Resource 사용하라JAVA/Effective java 2021. 1. 4. 10:31
자바 라이브러리에는 InputStream, OutputStream 그리고 java.sql.Connection과 같이 정리(close)가 가능한 리소스가 많다. 하지만 그런 리소스를 사용하는 클라이언트 코드가 보통 리소스 정리를 잘 안 하거나 잘못하는 경우가 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 public class FirstError extends RuntimeException { } public class SecondException extends RuntimeException { } public class MyResource implements AutoCloseable { public void doSomething() throws FirstEr..
-
싱글턴 패턴( Singleton Pattern ) 과 static - Java 디자인 패턴JAVA/Java Design Patterns 2020. 4. 28. 20:58
싱글톤 패턴이란? 싱글턴 패턴은 일부 사람들이 static은 전역 변수와 같아 보이고 객체 지향이 아니라는 주장에 이러한 비판을 해결하고자 나왔다고 볼 수 있다. 애플리케이션이 시작될 때, 어떤 클래스가 최초 한 번만 메모리를 할당(static)하고 해당 메모리에 인스턴스를 만들어 사용하고 공유하는 제한하는 패턴 즉, 싱글톤 패턴은 '하나'의 인스턴스만 생성하여 사용하고 공유하는 디자인 패턴이다. 인스턴스가 필요할 때, 똑같은 인스턴스를 만들지 않고 기존의 인스턴스를 활용하는 것! 다음과 같은 조건을 충족하는 개체에 적합하다. 1. 프로그램 실행 중에 최대 하나만 있어야 할 때 2. 이 객체에 전역적인 접근이 가능해야 할때 좋은 예시는 Logger 가 있겠다. Logger는 싱글톤으로 만들어서 error..
-
백준(BOJ) 17837번 새로운 게임2 ( JAVA )알고리즘 풀이/백준(Boj) java 2020. 2. 12. 02:28
설명: https://100100e.tistory.com/275?category=804940 백준(BOJ) 17837번 새로운 게임 2 문제 : https://www.acmicpc.net/problem/17837 17837번: 새로운 게임 2 재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행되.. 100100e.tistory.com 코드 ( JAVA )