Effective Java
  • 길이가 0 이상일 경우 변경 가능한 public static final array public class ArrayTest { public static final int[] VALUES = {1, 2, 3, 4}; } 값을 변경해보자 public class Main { public static void main(String[] args) { System.out.println(ArrayTest.VALUES[0]); // 1 ArrayTest.VALUES[0] = 5; /* 변경이 된다 */ System.out.println(ArrayTest.VALUES[0]); // 5 } } 해결방안 1 import java.util.Arrays; import java.util.Collections; import jav..

    Read more
  • 정보은닉 컴포넌트를 설계를 잘하기 위해서는 클래스 내부 데이터와 내부 구현 정보를 외부 컴포넌트로부터 잘 숨겨야한다. 잘 설계된 컴포넌트는 모든 내부 구현을 완벽히 숨겨, 구현과 API를 깔끔히 분리한다. 오직 API 를 통해서만 다른 컴포넌트와 소통하며 서로의 내부 동작에는 전혀 개의치 않는다. 이것을 정보은닉 또는 캡슐화라고 한다. 정보은닉의 장점 1. 시스템 개발 속도를 높인다. 여러 컴포넌트를 병렬로 개발할 수 있다. 인터페이스를 개발하면 이에 맞춰서 개발하고, 구현하면된다. 인터페이스를 사용하는 쪽과 지원하는 쪽이 동시에 개발이 가능하다. 2. 시스템 관리 비용을 낮춘다. 각 컴포넌트를 더 빨리 파악하여 디버깅할 수 있다. 다른 컴포넌트로 교체하는 부담도 적다. 인터페이스 기준으로 캡슐화가 잘 ..

    Read more
  • Copyright 2024. GRAVITY all rights reserved