오버플로우(Overflow) : 기초 타입에서 발생하며 어떤 타입이 가질 수 있는 최대 값 보다 1 더 큰 값 혹은 최소값 보다 1 더 작은 값을 대입할 경우 최대값이 최소값으로, 최소값이 최대값으로 변하는 현상이다. 가령 Integer.Max_VALUE + 1는 Integer.MIN_VALUE와 같다. 엄밀히 말하면 최소값에서 1을 빼면 최대값이 되는 것은 언더플로우(Underflow)이다.
리터럴(Literal) : 어떠한 값을 사용할 때 변수나 상수가 아닌, 직접 적은 모든 값을 리터럴이라 한다. 리터럴 연산시 형변환은 기초타입(+ 문자열)에서 보다 규모가 큰 것으로 변하게 된다.
float 타입의 경우 리터럴 뒤에 F를 붙여야 한다. 가령, float pi = 3.14F;
double 타입의 경우 리터럴 뒤에 D를 붙이는게 좋다. 가령 double pi = 3.14D;
long 타입의 경우 리터럴 뒤에 L을 붙여야 한다. 가령 long l = 33333L;
int, byte, boolean, char 타입의 경우 서픽스(Suffix)가 따로 없다.
이는 모든 정수형 리터럴을 서픽스없이 적게 되면 int로 인식되기 때문이다.
short 및 byte 를 적기 위해서는 강제 형변환이 필수적이다. 가령, byte b = (byte) 10;
boolean 은 사실 true 혹은 false 뿐이고, char 는 홑따옴표라는 특수기호를 사용함으로 서픽스가 있을리가...
의존성(Dependency) : 직접 개발하기 난해하고(필요성이 떨어지고), 사용하고자 하는 기능이 대체적으로 공통적인(가령 JSON) 것들에 대해 (공인된) 개발자 (혹은 팀)가 개발해 놓은 외부 프로젝트를 가져와서 사용하는 것 혹은 그러한 성질.
의존성 관리자(Dependency Manager) : 현재 개발 중인 프로젝트에 외부 의존성을 주입하거나 제거하는 등의 관리 체계를 제공하는 것. 대표적으로 메이븐(Maven)과 그래들(Gradle)이 있다. 그 외 종류도 많은데 의존성 관리자가 하는 일은 모두 동일하며 다만 작성하는 방식이 서로 조금씩 다를 뿐.
유틸리티 클래스(Utility Class) : ~Utils 의 명명법을 (주로) 가진다. 객체화를 못하도록 막는 것이 일반적이며, 이는 정적이고 상수인 멤버나, 정적인 메서드만 가진다. 주로 자주 사용하는 코드를 서로 관련있는 것들 끼리 묶어내는 역할을 한다.