1. 인스턴스 메소드는 클래스 맴버에 접근 할 수 있다. 2. 클래스 메소드는 인스턴스 맴버에 접근 할 수 없다. -> 인스턴스 변수는 인스턴스가 만들어지면서 생성되는데, 클래스 메소드는 인스턴스가 생성되기 전에 만들어지기 때문에 클래스 메소드가 인스턴스 맴버에 접근하는 것은 존재하지 않는 인스턴스 변수에 접근하는 것과 같다. package org.opentutorials.javatutorials.classninstance; class C1{ static int static_variable = 1; int instance_variable = 2; static void static_static(){ System.out.println(static_variable); } static void static_in..
NumberFormat java.lang.NumberFormatException은 문자열을 수로 변환할 때 발생하는 에러이다. import java.util.*; import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); int a = Integer.parseInt(bf.readLine()); int b = Integer.parseInt(bf.readLine()); System.out.println(a+b); } } -> 소스 1. 두 수를 입력받고, 합을 출력하는 소스 ..
java.util.Optional 클래스 : Optional는 null이 올 수 있는 값을 감싸는 Wrapper 클래스 : Optional 인스턴스는 모든 타입의 참조 변수를 저장할 수 있다. 이러한 Optional 객체를 사용하면 예상치 못한 NullPointerException 예외를 제공되는 메소드로 간단히 회피할 수 있다. 즉, 복잡한 조건문 없이도 null값으로 인해 발생하는 예외를 처리할 수 있음. # Optional 객체 생성하기 of() : NPE 예외 발생 가능 ofNullable() : 명시된 값이 null이면 비어있는 Optional 객체 반환 Optional opt = Optional.ofNullable("자바 Optional 객체"); System.out.println(opt.ge..
자바의 자료형 기본 타입 : char, int, float, double, boolean 참조 타입 : class, interface -> 기본 타입의 데이터를 객체로 표현해야하는 경우가 있음 ❓wrapper class : 기본 타입의 데이터를 객체로 표현해야 하는 경우가 있다 -> 메소드의 파라미터로 객체 타입만이 요구되면, 기본 타입의 데이터를 그대로 사용할 수 없음 -> 기본 타입의 데이터를 먼저 객체로 변환한 후 작업을 수행해야 함 : 기본 타입을 객체로 다루기 위해서 사용하는 클래스들 : 래퍼 클래스로 감싸고 있는 기본 타입 값은 외부에서 변경할 수 없음 -> 만약 값을 변경하고 싶다면 새로운 포장 객체를 만들어야함 : java.lang 패키지에 포함되어 제공 -> 래퍼 클래스 중에서 Integ..