본문 바로가기

Java2

Java의 불필요한 객체 생성 피하기 같은 기능의 객체를 매번 생성하는 것보다는 객체 하나를 생성해서 재사용하는 것이 메모리 양과 속도 측면에서 좋다. 예를 들어 다음의 String 생성을 예로 들 수 있다. // 1. String 생성자 이용 String str = new String("test"); // 2. 문자열 상수를 이용해 생성 String str = "test"; 위의 코드가 실행될 때마다 1번 같은 경우는 매번 String 객체를 생성한다. 같은 기능을 하는 객체이지만 매번 쓸데없는 String 객체가 생성된다는 단점이 있다. 그에 반해 2번은 "test"라는 String 객체를 하나 생성해두고 계속 같은 객체를 이용하게 한다. (2번의 자세한 설명이 필요하다면 https://devlog-wjdrbs96.tistory.com/.. 2022. 4. 3.
static method를 담은 Utility 클래스의 인스턴스화(객체 생성) 문제 공통화된 함수들의 작성이 필요할 때, static method만을 추가한 Utility 클래스를 만들때가 있습니다. 이 Utiility 클래스의 경우에는 static method만을 담고 있어 굳이 객체를 만들지 않고도 다음과 같이 사용할 수가 있습니다. public class Main { public static void main(String[] args) { System.out.println(Utility.add(1, 2)); } } class Utility { public static int add(int a, int b) { return a + b; } } 그러나 이 Utility 클래스의 단점은 개발자는 의도하지 않았지만 사용자가 Utility 클래스를 생성할 수 있다는 것입니다. Utility.. 2022. 4. 3.