Language/Java (12)

자바(Java) Enum 클래스: 열거체 사용방법

모든 언어를 막론하고 프로그래밍을 하다보면 상수값을 정의해서 사용할 경우가 많다. 상수 값을 필요에 따라서 모두 선언해서 사용하면 시간이 지남에따라 관리가 힘들어지고, 소스의 가독성 또한 떨어지게 된다. 따라서, Java 프로그래밍에서는 Enum 클래스를 지원한다. Enum 클래스를 이용하면 특정한 그룹으로 상수 값을 관리할 수 있다. # Enum 클래스의 특징 -. JDK 1.5 이상부터 지원 가능 -. 열거형 클래스이며 연관된 상수들의 집합 -. 생성자의 접근제어자는 Private, Default 형이 가능하며, Private 형을 권장 -. 생성자를 통해서 객체를 생성할 수 없음 # Enum 사용 예시 1 2 3 4 5 6 7 8 public class Woo{ public static void m..

Language/Java | 2018. 9. 20. 00:30

자바 Calendar 클래스: 현재 날짜와 시간 구하기

아주 오래된 자바 버전(JDK1.0)에서는 날짜와 관련된 클래스는 Date 클래스가 유일 했으며, 그마저 매우 간단한 기능만 처리 가능하도록 제공되었다. 현재의 자바 버전(JDK1.8)에서는 Date 클래스가 사용을 권장하지 않는 deprecated 처리되었으며, JDK 1.1부터 새롭게 제공되는 Calendar 클래스에서 날짜와 관련된 보다 강력한 기능을 수행할 수 있다. Calendar 클래스는 날짜와 관련된 기능을 제공하는 추상 클래스다. 추상 클래스로 선언된 이유는 국가마다 사용하는 날짜 체계가 다르기 때문이다. Calendar 클래스는 날짜와 시간을 처리하기 위한 다양한 필드와 메서드를 제공한다. Calendar 클래스의 모든 필드는 정적 변수(static)이므로, 객체를 생성하지 않아도 접근이..

Language/Java | 2018. 9. 19. 00:30

HP-UX 장비와 Java(JVM) 시간 차이 발생

서버 장비 중 HP-UX 장비와 관련된 내용이다. 서버의 System에서 날짜 값을 받아와서 처리하는 것이 일반적인 소프트웨어지만, JDK 1.3 상위 버전 부터는 Java의 날짜 값을 JVM Hotspot에서 관리하도록 변경 되었다. 그렇기 때문에 System과 Java의 날짜 값이 상이하게 되는 현상이 발생한다. 날짜 값에 대한 관리 포인트가 이원화 되었으니, 당연히 일치하지 않을 수 있는 현상이다. 날짜 값에 차이가 발생하면 치명적인 시스템은 필수적으로 처리를 해줘야 한다. Java의 날짜 값을 System의 날짜 값으로 사용하도록 아래와 같이 Java option을 지정해 주면 된다. -XX:+UseGetTimeOfDay -XX:+UseHighResolutionTimer 위와 같은 Java Opt..

Language/Java | 2017. 9. 17. 18:47

[JAVA] JDK, JRE, JVM 차이점

Java 환경에서 개발 또는 배포를 수행하다보면 JDK, JRE, JVM에 대한 의문점이 생긴다. 각각 어떤 역할을 하는지 간단하게 아래와 같이 정리해 본다. # JVM (Java Virtual Machine) 자바 가상 머신이라고 불리우며, 자바에서 생성되는 Class 파일을 실행한다. JVM은 운영체제에 의존하지 않고 플랫폼에 의존하여 동작한다. 단지, JVM은 Class 파일을 읽고 검증하고 실행하는 역할에 충실하다. # JRE (Java Runtime Environment) JVM이 Class 파일을 실행하기 위해 필요한 라이브러리 파일 등을 가지고 있다. JRE는 JVM을 포함하며 서로 연관된 관계를 가지고 있다. # JDK (Java Development Kit) Java 환경의 어플리케이션을..

Language/Java | 2017. 8. 6. 03:26

자바 문자열 함수 startwith() 함수와 endswith() 함수 활용

프로그래밍을 위해선 문자열 함수를 사용하지 않을 수 없다. 편의를 위해 제공되는 문자열 함수를 사용하지 않아도 파싱은 얼마든지 가능하지만, startwith, endwith와 같은 함수를 사용하면 조금더 간결하고 편리하게 프로그래밍을 할 수 있다. # startwith() 인수로 지정한 문자열로 시작하는 경우 True값을 반환하며, 그렇지 않다면 False 값을 반환한다. 1 2 3 4 5 6 7 public class Wookoa { public static void main(String[] args){ String str = "This is Wookoa Zone!"; System.out.println(str.startsWith("this")); //False return System.out.print..

Language/Java | 2017. 2. 12. 23:32

JDBC ResultSet 객체의 Row 및 Column 개수 계산

자바의 JDBC 클래스에서 ResultSet 객체를 통해 쿼리의 결과를 가져오는 경우, Row 개수와 Column 개수가 필요한 경우가 생각보다 많이 발생한다. 각각의 정보를 구하는 방법은 두가지 방법으로 서로 상이하며 그 방법을 아래와 같이 정리한다. ※ ResultSet 객체의 Row 개수 계산: 커서의 위치를 제일 뒤로 이동한 뒤 row의 개수를 계산 Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet rs = stmt.executeQuery("SELECT COL_01, COL_02 FROM WOOKOA_TABLE"); rs.last(); //커서의 위치..

Language/Java | 2015. 10. 22. 21:47

Cannot make a static reference to the non-static field 오류

자바로 코딩하던 중 아래와 같은 코드에서 오류에 직면했다. 자바는 보다 완벽한 객체지향 프로그래밍을 위해 생성된 언어이며, Class를 선언함으로써 객체지향을 달성한다는 사실을 잊고 있어서 발생한 오류였다. 1 2 3 4 5 6 7 8 9 10 11 12 public class Woo{ int i = 10; void printWoo(){ System.out.println("Wookoa!"); } public static void main(String[] args){ printWoo(); i = 20; } } 에러의 내용은 아래와 같다. Exception in thread "main" java.lang.Error: Unresolved compilation problems: Cannot make a stat..

Language/Java | 2015. 4. 3. 08:00

enum 열거 상수를 다른 값과 연관 짓는 방법

아래와 같이 메인 클레스와 enum 클레스를 코딩한다. 열거 타입의 생성자는 열거 타입 외부에서 호출되는 것이 아니라 열거 상수 선언에 의해 자동으로 호출되며, 열거 상수 다음의 괄호 안에 있는 값이 생성자 파라미터로 넘어오게 된다. 따라서, final static 변수로 선언한 String 변수를 선언하고, 생성자를 활용해서 선언한 String 변수에 대입해야 한다. 이렇게 파라미터로 넘어온 값은 private 필드에 저장되기 때문에, 외부에서 해당 값을 접근하려면 아래와 같은 call() 메소드를 생성해야 한다. - main class 1 2 3 4 5 6 7 8 public class Woo{ public static void main(String[] args){ System.out.println(..

Language/Java | 2015. 3. 19. 08:00

'javac'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다.

자바를 설치하고 환경변수를 설정하는 과정에서, 그 과정이 엇갈리거나 꼬이게 되면 흔히 볼 수 있는 에러 화면이다. 커맨드 입력창에 'javac' 명령을 날리면 볼 수 있는 메세지다. "'javac'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다." 본 포스팅에서는 이러한 에러를 해결하기 위한 방법을 소개한다. #Recommendation - 자바 다운로드 및 설치방법 (Java or JDK 1.8 Windows 7) - 자바 환경변수 설정방법(Java or JDK 1.7 Windows XP) - 자바 환경변수 설정방법(Java or JDK 1.8 Windows 7) 자바 설치를 하고 열심히 환경변수를 설정한 뒤, 커맨드 입력창에 'javac' 명령을 날리자마자 아래와..

Language/Java | 2015. 3. 17. 08:00

자바 환경변수 설정방법(Java or JDK 1.8 Windows 7)

본 포스팅에서는 Windwos 7 환경에서 환경변수를 설정하는 방법에 대해서 알아 볼 것이다. Windows 7 에서는 비교적 간단한 방법으로 환경변수를 잡을 수 있다. #Recommendation - 자바 다운로드 및 설치방법 (Java or JDK 1.8 Windows 7) - 자바 환경변수 설정방법(Java or JDK 1.7 Windows XP) - 'javac'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 가장 먼저, 자바가 설치된 디렉터리로 이동한다. 자바 경로 중 bin 폴더로 이동한 후 경로를 '컨트롤 + C'로 복사해 놓는다. 환경변수를 설정하는 화면에는 사용자 변수, 시스템 변수 두 가지 변수가 존재한다. 여기서, 사용자 변수에 'PATH'라는 ..

Language/Java | 2015. 3. 16. 08:00