본문 바로가기

JAVA/기본11

람다(Lambda) 람다(Lambda) 1. 람다식(Lambda Expression) 람다식은 간단히 말해서 메서드를 하나의 식으로 표현한 것이다. 람다식은 기본적으로 다음과 같이 작성된다. [람다식 작성_기본] 람다식은 위의 예제와 같이 반환 타입과 메서드 이름을 제거하고 매개변수 선언부와 몸통( {} ) 사이에 -> 를 추가한다. 이처럼 람다식은 메서드 이름이 없기 때문에 익명 함수라고도 불린다. [람다식 작성_여러 형태] // 전부 같은 기능을 의미하는 함수 int sum(int a, int b) { return a + b; } //람다식 기본 (int a, int b) -> {return a + b;} //return 생략 (int a, int b) -> a + b //매개변수 타입 생략 (a, b) -> a + b.. 2021. 11. 28.
예외 처리(exception handling) 예외 처리(exception handling) 프로그램이 실행 중 어떤 원인에 의해서 오작동을 하거나 비정상적으로 종료되는 경우가 있다. 이러한 결과를 초래하는 원인을 프로그램 에러 또는 오류라고 한다. 에러는 발생 시점에 따라 다음과 같이 구분된다. [에러의 종류] 컴파일 에러 - 컴파일 시에 발생하는 에러 런타임 에러 - 실행 시에 발생하는 에러 논리적 에러 - 실행은 되지만, 의도와 다르게 동작하는 것 컴파일은 되지만, 프로그램 실행 후(runtime) 에러가 발생하는 경우를 런타임 에러라 한다. ex) Null값을 참조하는 NullpointException, 0을 나눌 때 발생하는 ArithmeticException 등 런타임 에러는 에러(error)와 예외(exception)로 구분될 수 있다... 2021. 8. 2.
#5 생성자(Constructor) 생성자 1. 생성자란? 생성자는 인스턴트가 생성될 때 호출되는 인스턴트 초기화 매서드이다. 즉, 생성자를 통해서 인스턴스를 생성함과 동시에 인스턴트 변수들을 초기화 할 수 있다는 것이다. 2. 생성자의 조건과 정의 생성자는 다음과 같은 조건을 만족해야 한다. ■ 생성자의 이름은 클래스의 이름과 같아야 한다. ■ 생성자는 리턴 값이 없다. 생성자는 다음과 같은 형식으로 만들어진다. [생성자 예시 그 #1] 클래스이름(타입 변수명, ...) { // 인스턴트 생성 시 수행될 코드, } 인스턴스를 생성할 때 초기화 할 인스턴스 변수의 타입으로 매개변수를 받는다. 블럭에는 인스턴트를 생성 할 때 수행될 코드가 들어가는데 주로 인스턴스 변수를 초기화 하는 코드가 들어간다. [생성자 예시 그 #2] public c.. 2021. 4. 28.
#4 오버로딩(overloading) 오버로딩 1. 오버로딩이란? 한 클래스 내에 같은 이름의 메서드를 여러 개 정의 하는 것을 뜻한다. 2. 오버로딩의 조건 오버로딩의 조건은 아래와 같다. ■ 매서드 이름이 같아야 한다. ■ 매개변수의 개수 또는 타입이 달라야 한다. 위의 조건에서 중요한 것은 오버로딩은 오로지 매개변수로만 구별 될 수 있다는 것이다. 예를 들어 반환 타입은 오버로딩을 구현하는데 아무런 영향을 주지 못한다. ※ 단 매개변수 타입의 위치를 바꾸는 것은 오버로딩으로 인정된다. [매개변수 타입의 위치만 바뀐 오버로딩] public class Main { static public void print_test(int a, String b) { System.out.println(a); System.out.println(b); } st.. 2021. 4. 28.