반응형

 

 

 

 

 

 

 

 

Java에 상수는 변하지 않는 수를 의미한다.

 

상수를 자바에서 final 예약어로 선언한다.

 

상수의 장점은 가독성 측면에 값이 변하지 않는 것을 먼저 선언함으로써 읽음에 있어 가독성을 향상해 준다.

 

또한 바뀌지 말아야 할 값을 선언 시점에 명시함으로 변경되지 않게 방지해 준다.

 

추가로 일반적인 변수의 경우 메모리에 값을 매번 로드해야 하지만

 

상수는 값이 변하지 않아 컴파일러에 따라 미리 값을 최초 1회 로드 후 캐싱해 놓는 등 최적화 기회가 생긴다.

 

멀티스레드 환경에서 변수는 thread-safe를 신경 써야 하는 대상이지만, 상수는 값이 변경되지 않는다.

 

 

 

 

Magic Number?

매직 넘버, 매직 리터럴 이란 소스코드에서 의미를 가진 숫자나 문자를 그대로 표현하는 것을 의미한다.

 

하지만 이런 코드는 읽기 어렵게 만들 수 있다

 

왜냐면 이런 의미를 파악하기 위해 해당 클래스와 흐름을 이해하기 위해 많은 시간을 요구하기 때문이다.

 

매직 넘버의 예시는 원주율(파이)을 생각할 수 있다.

 

우리가 아는 원주율 값은 3.14159265....이다 보통 3.14로 표기한다

 

코드에 원주율을 매직넘버로 정의한다면

static final int double PI = 3.141592;

 

이렇게 선언할 수 있다.

 

지금처럼 예시는 누가 봐도 저 값이 파이라는 것과 어떤 의미를 가지는지 알 수 있다.

 

다만 무분별한 매직 넘버는 매직 넘버가 사용되는 곳을 찾아 들어가 어떤 의미로 사용하는 것 인지 찾고 이해해야 하기 때문에

 

무분별하게 사용하게 되면 코드가 더 지저분해질 수 있다.

 

또한 매직 넘버는 수정하기 어렵다는 단점이 있다.

 

 

 

 


 

 

 

 김춘장이의 위키백과 - 나만의 공부 기록 Tistory 

 

gayulz - Overview

개발자가 되고싶은 개발어린이💟. gayulz has 11 repositories available. Follow their code on GitHub.

github.com


 

반응형
유리쯔의일상