본문 바로가기

JAVA

(4)
[JAVA] Scanner를 통해 char형 데이터 입력받기 char형을 바로 Scanner를 통해 입력받아서 변수에 저장하고 싶었는데, next관련 함수에서는 char형으로 입력을 받아주는 함수를 찾지 못했다. 그래서 아래와 같이 next를 통해 받은 String에서 charAt을 통해 char값을 입력받았다. import java.util.Scanner; public class OneHour { public static void main(String[] args) { Scanner sc = new Scanner(System.in); char input = sc.next().charAt(0); System.out.println(input); }}
[Java] JRE와 JDK의 차이 초반에 자바 설치할 때 jre, jdk 등등 용어가 너무 다양해서 헷갈렸다. 처음에는 뭣도 모르고 둘다 설치하고 그냥 이클립스 깔고 개발하곤 했는데, 막상 실무에 들어가니 환경 설정하는 부분이 중요해서 각각의 차이에 대해서 공부하고 있다. JRE란? 먼저 JRE는 Java Runtime Environment의 약자로 자바 프로그램을 실행시켜주는 환경을 구성해주는 도구다. 즉 JAVA를 개발할 필요는 없는데, 실행은 시켜줘야 하는 경우에는 꼭 JRE가 있어야 한다. 반면 JAVA 개발시 꼭 필요한 것이 있는데 그것이 바로 JDK다. JDK란? JDK는 Java Development Kit의 약자로 말그대로 자바 개발시 필요한 툴킷을 제공하는 도구모음이다. 개발하려면 당연히 실행도 시켜야 하므로 JDK 안에..
[JAVA] 생성자가 private로 선언하는 목적 JAVA 프로젝트 코드를 보다보니, private로 선언된 생성자들이 꽤 많이 보였다. 그때 들었던 생각은 "생성자를 private로 선언하면 외부에서 인스턴스 생성을 하지 못하는데 대체 무슨 의미가 있는것이지?" private 으로 생성자를 선언하게 되면 인스턴스 생성이 불가능하고, 더 나아가 서브클래스를 만들 수 없다. 하지만 이렇게 의도적으로 private로 생성자를 만들어주는 경우가 있는데, 이는 해당 클래스의 인스턴스 생성이 무의미하기 때문이다. 예를 들어 java.util package 의 Arrays나 java.lang package의 Math 클래스는 해당 클래스에 정의된 메스도만 사용할 뿐, 굳이 인스턴스를 생성할 필요가 없다. 이런 경우 개발자가 의도적으로 인스턴스를 사용하지 못하도록 ..
[JAVA] equals 메서드 사용시 NullPointerException 다루는 팁 JAVA에서 문자열을 비교할때는 주로 equals 메서드를 사용한다. 하지만 equals.() 를 부르는 인스턴스가 null인 경우 NullPointerException이 발생하게 된다. 예를들면 아래와 같은 상황 public class MyClass { public static void main(String args[]) { String strA = null; System.out.println(" Result : " + strA.equals("test")); } } 결과값 : Exception in thread "main" java.lang.NullPointerException at MyClass.main(MyClass.java:4) Command exited with non-zero status 1 ..