모르지 않다는 것은 아는것과 다르다.

전체 글 224

Optional

Optional null일 수도있고, 비어있을 수도 있다. 메소드에서 작업 중 특별한 상황에서 값을 제대로 리턴할 수 없는 경우 선택할 수 있는 방법 예외를 던진다. (비싸다, 스택트레이스를 찍어두니까.) null을 리턴한다. (비용 문제가 없지만 그 코드를 사용하는 클리어인트 코드가 주의해야 한다.) (자바 8부터) Optional을 리턴한다. (클라이언트에 코드에게 명시적으로 빈 값일 수도 있다는 걸 알려주고, 빈 값인 경우에 대한 처리를 강제한다.) Optional 오직 값 한개가 들어있을 수도 없을 수도 있는 컨네이너. 주의할 것 리턴값으로만 쓰기를 권장한다. (메소드 매개변수 타입, 맵의 키 타입, 인스턴스 필드 타입으로 쓰지 말자.) Optional을 리턴하는 메소드에서 null을 리턴하지 말..

Java 2022.02.26

Object 클래스

Object 클래스란? 모든 클래스의 최상위 클래스이다. -> java.lang.Object 클래스이다. java.lang 패키지 내에 있다. -> 자동으로 import.java.lang.*;가 import 된다. 많이 사용하는 기본 클래스들이 속한 패키지 String, Integer, System... 등이 포함된 패키지 이다. 모든 클래스는 Object에서 상속받고, Object 클래스의 메서드 중 일부는 재정의해서 사용할 수 있다. 컴파일러가 extends Object를 자동으로 추가한다. 예를들어, class Student => class Student extends Object toString() 객체의 정보를 String으로 바꾸어서 사용할 때 쓰인다 결과값은 JVM 이 16진수의 값이 @ 뒤..

Java 2022.02.26

Exception

Error vs Exception Error 란? Error(오류)는 시스템에 비정상적인 상황이 생겼을 때 발생한다. 시스템 레벨에서 발생하기 때문에 심각한 수준의 오류이고, 개발자가 미리 예측하여 처리하기 힘들다. 그렇기 때문에 애플리케이션에서 오류에 대한 처리를 거의 신경 쓰지 않아도 된다. Exception 이란? 개발자가 구현한 로직에서 발생한다. 예외는 발생할 상황을 미리 예측해서 처리할 수 있다. 그렇기 때문에 예외를 구분하고 그에 때른 처리 방법을 명확히 알고 적용하는 것이 중요하다. 크게 RuntimeException 과 그 밖에 여러 Exception으로 구분된다. RuntimeException 의 종류는 아래와 같다. ArithmeticException : 정수를 0으로 나누었을 경우 ..

Java 2022.02.26

Class 클래스

Class 클래스 자바의 모든 클래스와 인터페이스는 컴파일 후 class 파일이 생성된다. Class 클래스는 컴파일 된 class 파일을 로드하여 객체를 동적 로드하고, 정보를 가져오는 메서드가 제공된다. Class.forName("클래스 이름") 메소드로 클래스를 동적으로 로드할 수 있다. Class c = Class.forName("java.lang.String"); 위와같이 String 클래스를 가져올 수 있다. String s = new String(); Class c = s.getClass(); //Object 메서드 생성된 인스턴스에서 Class 클래스 가져올 수 있다. 동적 로딩 컴파일 시에 데이터 타입이 binding 되는 것이 아닌, 실행(runtime) 중에 데이터 타입을 bindin..

Java 2022.02.26