본문 바로가기

programming_kr/java11

JAVA8 Optional 사용법 java8 버전부터 Optional 클래스가 지원되기 시작했습니다. Optional 내용을 알아볼까요? Java NPE 예방 자바 프로그램을 작성하다보면 null처리를 해야 할 경우가 많습니다. null 값을 제대로 처리하지 않으면 NullPointerException을 자주 만나게 됩니다. 안정적인 실행을 위해 NPE이 발생하지 않도록 중간중간 null 체크를 해줘야 하는데 if문이 반복적으로 들어가기 때문에 코드가 더러워집니다. 아래와 같은 상황에서 NPE가 발생합니다. List strs = null; strs.get(0).toString(); 위 코드를 아래와 같이 수정해야 합니다. List strs = null; strs.get(0).toString(); if(strs!=null) { //다음 로.. 2022. 9. 17.
제어자(modifier) 제어자(modifier) 제어자는 클래스, 변수, 메서드의 선언부와 함께 사용되며 부가적인 의미를 부여한다. 제어자의 종류는 접근 제어자와 그 외의 제어자로 나눌 수 있습니다. 접근 제어자(access modifier) 접근 제어자의 멤버 또는 클래스에 사용되어, 해당하는 멤버 또는 클래스를 외부에서 접근하지 못하도록 제어하는 역할을 합니다. private : 같은 클래스 내에서만 접근이 가능 default : 같은 패키지 내에서만 접근이 가능 protected : 같은 패키지 내, 그리고 다른 패키지의 자손 클래스에서 접근이 가능 public : 접근 제한이 없다 대상 사용 가능한 접근 제어자 클래스 public, default 메서드 public, protected, default, private 멤.. 2022. 9. 10.
람다식(Lambda) 람다식(Lambda Expression)이란 함수를 하나의 식(expression)으로 표현한 것입니다. 함수를 람다식으로 표현하면 메소드의 이름이 필요 없기 때문에, 람다식은 익명 함수(Anonymous Function)의 한 종류라고 볼 수 있습니다. 익명함수(Anonymous Function)란 함수의 이름이 없는 함수로, 익명함수들은 모두 일급 객체입니다. 일급 객체인 함수는 변수처럼 사용가능하며 매개 변수로 전달이 가능하는 등의 특징을 가지고 있습니다. 람다 방식으로는 위와 같이 메소드 명이 불필요하며, 다음과 같이 괄호() 와 화살표-> 를 이용해 함수를 선언하게 된다. // 람다 방식 (매개변수, ... ) -> { 실행문 ... } // 예시 () -> "Hello World!"; 람다식이.. 2022. 8. 30.
JAVA 8 interface 변경사항 등장 배경 인터페이스에 새로운 메서드를 구현하는 경우, 인터페이스를 구현한 구현체가 수십개라면 어떻게 해야 될까요? 아마 모든 구현체에 새로 추가한 메서드를 구현해야 할 것 입니다. 기존의 구현되어 있는 코드를 고치지 않고도 이미 공개된 인터페이스를 변경할 방법은 없을까? 라는 아이디어에서 default method가 등장하게 되었습니다. Java에서 기존의 interface는 추상 메서드만 멤버로 가질 수 있었습니다. 하지만 Java 8 부터 default 키워드를 사용해 interface에 메서드를 선언할 수 있게 되었습니다. default 키워드 public interface Interface1 { int add(int x, int y); default int mul(int x, int y) { r.. 2022. 8. 27.
JAVA란? 자바는 썬 마이크로시스템즈에서 개발하여 1996년 공식적으로 발표한 객체지향 프로그래밍 언어이다. 자바의 가장 중요한 특징은 운영체제(OS)에 독립적이기 때문에 어떠한 환경에서도 프로그램을 변경하지 않고 실행이 가능하다. 이러한 장점으로 인해 자바는 컴퓨터와 운영체제가 공존하는 인터넷 환경에 적합한 언어로써 인터넷 발전과 함께 많은 사용자층을 확보하였다. 자바는 풍부한 라이브러리를 통해 프로그래밍에 필요한 요소들을 제공하기 때문에 클래스 라이브러리를 잘 활용하면 강력한 기능의 자바 프로그램을 작성할 수 있다. JAVA의 특징 운영체제에 독립적이다. 기존의 언어는 한 운영체제에 맞게 개발된 프로그램을 다른 종류의 운영체제에 적용하기 위해서 많은 작업이 필요하였지만, 자바는 다르다. 이것은 자바가상머신(JV.. 2020. 12. 30.