Java

JAVA 버전에 대하여..( JAVA 1.8 JAVA 8 ... )

구티맨 2021. 1. 18. 14:22

JAVA 를 쓰다보면, 버전이 급격하게 다른걸 한번씩 보게 되는데

 

뭐지? 라고 생각은 했으나 그냥 별 생각없이 써왔었습니다.

 

그러다 문득 sourceCompatibility 를 설정 하다가 버전이 너무 낮은 것 같아( 1.8 )

 

로컬에 설치된 JAVA 버전을 확인하니 "11.0.1" !!!

 

음?? 너무 버전차이가 심한것 아닌가 싶어서 알아보게 되었습니다.

 

먼저 gradle에 sourceCompatibility 설정 값을 찾아보니, 아래와 같이 JavaVersion.class에 enum type으로 정의가 되어있습니다.

VERSION_1_1	 
VERSION_1_2	 
VERSION_1_3	 
VERSION_1_4	 
VERSION_1_5	 
VERSION_1_6	 
VERSION_1_7	 
VERSION_1_8	 
VERSION_1_9	 
VERSION_1_10	 
VERSION_11	
VERSION_12	
VERSION_13	
VERSION_14	
VERSION_15	
VERSION_16	
VERSION_17

그리고 wiki의 Java Version History 에는 아래와 같이 버전 명이 나와있습니다.

JDK 1.0	
JDK 1.1	
J2SE 1.2	
J2SE 1.3	
J2SE 1.4	
J2SE 5.0	
Java SE 6	
Java SE 7	
Java SE 8
Java SE 9	
Java SE 10	
Java SE 11
Java SE 12	
Java SE 13	
Java SE 14	
Java SE 15	
Java SE 16	
Java SE 17

자바 11 부터는 버전을 11로 그냥 쓰고 있고,

 

그 이전에는 JAVA 8 을 버전 1.8, JAVA 9는 버전 1.9, JAVA 10은 버전 1.10 으로 사용을 한다는 것을 알수 있습니다.

 

정확한 이유는 모르겠지만, 개발을 하다보면 major 버전의 변경은 엄청난 변화를 의미를 하는데

 

JAVA 8에서 JAVA 9로의 변화가 그정도의 변경이 있는 것이 아니여서

 

개발자들이 내부에서 사용 하는 버전명은 1.x 형태로 계속 사용을 해왔지 않을까 하는 생각입니다.


JAVA 8 네이밍 에 대한 글을 보면, Java SE 8( Java Platform, Standard Edition 8 )은 Version Number이고,

 

이 버전에 대한 Version String은 1.8.0( java -version ) 이라고 되어있습니다.

 

그래서, 개발할 때는 Java Version을 Version String으로 사용을 하고 있다 정도로 이해를 하고 있으면 될 것 같습니다.