본문 바로가기
C++ 200제/코딩 IT 정보

Java 코드 최적화 4가지, 자바 코딩 규칙으로 성능 향상(속도 개선)

by vicddory 2017. 2. 22.

Java 코드 최적화 4가지, 자바 코딩 규칙으로 성능 향상(속도 개선)


Java 코드 최적화 4가지, 자바 코딩 규칙으로 성능 향상(속도 개선)[자바 입문, 좋은 소스 작성하는 기술]


자바 코딩 개선 1. 단항 연산자(증감 변수)


- Unary Operator(Increment/Decrement)


자신이 작성한 코드를 다른 사람이 쉽고, 짧게 읽을 수 있게 해야합니다. 다른 언어와 마찬가지로, 자바는 증감에 대한 단항 연산자를 지원합니다.


예를 들면,


1
2
3
4
int counter = 1;
 
counter++;
counter--;
cs


위 코드는 아래와 똑같습니다.


1
2
3
4
int counter = 1;  
 
counter = counter + 1;  
counter = counter – 1;  
cs


위의 단항 연산자(+, -)는 접두사나 접미사로 사용할 수 있습니다.

그래서 연산자의 위치에 따라 증감의 발생 여부와 지점의 조절이 가능합니다.


다시 예를 들면, 안드로이드 로깅을 이용해서 카운터 변수를 단항 연산자가 어떻게 조절하는지를 알아 볼 수 있습니다.


1
2
3
4
5
6
7
8
int counter = 0;  

Log.i(DEBUG_TAG, "The counter value is ="+counter++);   // prints 0  
Log.i(DEBUG_TAG, "The counter value is ="+counter);     // prints 1  
Log.i(DEBUG_TAG, "The counter value is ="+counter--);   // prints 1  
Log.i(DEBUG_TAG, "The counter value is ="+counter);     // prints 0  
Log.i(DEBUG_TAG, "The counter value is ="+(++counter)); // prints 1  
Log.i(DEBUG_TAG, "The counter value is ="+--counter);   // prints 0  
cs



java 코드 최적화 4가지[Java 코드 최적화] 코딩 성능 향상


자바 코딩 개선 2. 임시 변수(불필요한) 생략


- (Skipping Temporary Variable)


자바 개발자(모든 개발자)는 일반적으로 정말 필요하지 않은 변수는 생성할 필요가 없습니다. 이런 변수들의 특징은 임시적으로 생성되어 한 두번의 결과를 저장하는데 사용되는것이 전부입니다.


  • 대신, 자바 개발자(모든 개발자)는 결과 값을 자체적으로 평가하는 문장을 사용해야 합니다.


예를 들어, 다음과 같은 문장은 두 정수의 합계를 임시 변수(보통 temp)가 저장한 뒤 반환합니다.


1
2
3
4
5
6
int sumVerbose(int a, int b)  
{  
    int temp = a + b;  
 
    return temp;  
}
cs


개발자들이 오버헤드와 번거로움을 생략하기 위해 임시 변수 생성을 생략하고, 단순한 "반환"을 이용 할 수 있습니다.


1
2
3
4
int sum(int a, int b)  
{  
    return (a+b);  
}
cs


위 문장은 True일 경우에만 한 번 사용하도록 구성되어 있습니다.


연산 이후의 값을 포함하는 메소드의 경우엔 신중하게 코드를 "쉽게" 구성해야 합니다.



자바 코딩 성능 향상[Java 코드 최적화] 자바 속도 개선

자바 코딩 개선 3. 자바 "this" 키워드와 연쇄 방법


- (this Keyword, Chaining Method)


코딩 시, 종종 상호작용하는 메소드들을 구성하게 됩니다.


이럴 경우 해당 메소드들은 현재 클래스의 인스턴스에서 호출이 됩니다.


1
InputStream is = getResources().openRawResource(R.drawable.icon);
cs


이런 코드는 논리적으로 다음 문장과 동일합니다.


1
2
Resources myAppResources = this.getResources();
InputStream is = myAppResources.openRawResource(R.drawable.icon);
cs



자바 코딩 규칙[자바 입문, 좋은 소스 작성하는 기술]

자바 코딩 개선 4. 빈 문장(무한루프)


- (Infinite Loop)

- 종종 빈 문장이 생성되기도 하는데, 이런 문장들은 무한 루프를 유도합니다.


1
2
3
for (;;) {  
    //Do something over, and over, and over again.  
}
cs


항상 합리적으로 문장이 구성되어있는지 확인해야 하고, 무한 루프를 유도하지 않나 따져봐야 합니다.


 Java 코드 최적화 4가지, 자바 코딩 규칙으로 성능 향상(속도 개선)

written by vicddory

댓글