Java 표준

1. 금지항목

(1) 로깅을 위해 System.out.println, System.err.println 등을 사용하지 않는다.

/* Logger를 사용해서 로그를 해야 한다 */
System.out.println("#Customer ID:" + input.getId());
System.err.println("#Array Count:" + input.getCount())'

(2) DB Connection 을 직접 생성하지 않는다.

Connection conn = null;
try {
    /* 소스코드 내에서 직접 Connection을 생성하지 않는다 */
    conn = DriverManager.getConnection("jdbc:oracle:thin@127.0.0.1:orcl");
} catch (Exception e) {
    e.printStackTrace();
}

(3) 사용하지 않는 멤버 변수나 지역 변수, 메소드는 제거한다.

2. Immutable 객체 사용시 유의 사항

Immutable 객체란 생성 후 값이 변하지 않는 객체를 말한다. 따라서 Immutable 객체에는 set 메소드가 없으며 멤버 변수를 변경 할 수 없다.

2.1. java.math.BigDecimal

금액, 이율 계산 등 정밀한 값의 계산이 필요한 항목은 int, long, float, double(Wrapper Class포함) 등의 원시 타입을 사용하지 않고 java.math.BigDecimal 클래스를 사용한다. 사용 시 주의사항은 다음과 같다.

(1) 연산에 관련된 add, subtract, multiply, divide, round, abs 등의 메소드는 반드시 좌변(Left-hand-side)에 값을 할당 해야 한다.

BigDecimal bdOne = new BigDecimal(10);
BigDecimal bdTwo = new BigDecimal(20);

/* 잘못된 예 */
bdOne.add(bdTwo);

/* 올바른 예 */
bdOne = bdOne.add(bdTwo);

(2) 값 비교는 객체끼리 '==' 연산 등을 사용하지 않고 compareTo 메소드를 사용한다.

BigDecimal bdOne = new BigDecimal(10);
BigDecimal bdTwo = new BigDecimal(20);

/* 잘못된 예 */
if(bdOne == bdTwo) {
    ... ...
}

/* 올바른 예 */
int result = bdOne.compareTo(bdTwo);
if(result == 0) {
    ... ...
}

(3) BigDecimal 클래스의 자세한 사용법은 Java API를 확인한다.

2.2. java.lang.String

BigDecimal 객체와 마찬가지로 String 객체도 Immutable 한 객체이다.

(1) 연산에 관련된 concat, replace 등의 메소드를 사용할 경우에는 반드시 좌변에 값을 할당 해야 한다.

String strOne = "ABC";

/* 잘못된 예 */
strOne.replace("A", "Z");

/* 올바른 예 */
strOne = strOne.replace("A", "Z");

(2) String 값의 비교는 '==' 연산을 사용하지 않고 equals 메소드를 사용한다.

/* 잘못된 예 */
if("CODE00" == code) {
    ... ...
}
/* 올바른 예 */
if("CODE00".equals(code)) {
    ... ...
}

(3) 문자열 + 문자열 연산은 StringBuilder 클래스를 사용한다.

String[] userNameArr = new String[]{"Peter", "Steve", "Sally"};

/* 잘못된 예 */
String msg1 = null;
for(String name : userNameArr) {
    msg1 += name + ",";
}

/* 올바른 예 */
StringBuilder msg2 = new StringBuilder();
for(String name : userNameArr) {
    msg2.append(name).append(",");
}

(4) String 클래스의 자세한 사용법은 Java API를 확인한다.

SWLab Bankware Global
  • 전체
  • BXM
  • BXCM
  • BXCP
  • BXI
제품 선택 시 더 정확한 매뉴얼 가이드를 제공해드립니다.

Copyright© Bankwareglobal All Rights Reserved.