목차람다식 정의와 핵심 개념람다식은 왜 사용할까? (사용 이유와 장점)람다식 문법 완벽 분석람다 파라미터 (Parameter)화살표 토큰 (Arrow Token ->)람다 몸체 (Body)표현식 (Expression Body)블록 (Block Body)함수형 인터페이스
매개 변수(parameter)와 인수(arguments)는 혼용되는 헷갈리는 용어.매개 변수는 메서드에 전달된 입력값을 저장하는 변수를 의미인수는 메서드를 호출할 때 전달하는 입력값을 의미
Dog 클래스는 Animal 클래스를 상속함즉, Dog는 Animal의 하위 개념이라 할 수 있다.이런 경우 Dog는 Animal에 포함되기 때문에 '개(Dog)는 동물(Animal)이다'라고 표현 가능자바는 이러한 관계를 IS-A 관계라고 한다.주의점: Dog 객체를
HouseDog 클래스에 주목하자첫 번째 메서드:Dog 클래스에 있는 sleep 메서드를 HouseDog 클래스에 다시 구현하였다.이렇게 부모 클래스의 메서드를 자식 클래스가 동일한 형태(즉, 입출력이 동일)로 또다시 구현하는 행위를 메서드 오버라이딩 (method o
메서드명이 클래스명과 동일하고 리턴 자료형을 정의하지 않는 메서드클래스명과 메서드명이 같다.리턴 타입을 정의하지 않는다. (void도 사용하지 않는다.)생성자의 입력 항목이 없고 생성자 내부에 아무 내용이 없는 생성자를 디폴트 생성자라고 부른다.만약 클래스에 생성자가
동물 클래스의 종류만큼 feed 메서드가 필요했던 ZooKeeper 클래스를 Predator 인터페이스를 이용하여 구현했더니 단 한 개의 feed 메서드로 구현이 가능해졌다.여기서 핵심은 메서드가 줄어든 것이 아닌 ZooKeeper 클래스가 동물 클래스에 의존적인 클래
다형성(polymorphism)은 객체 지향 프로그래밍의 특징 중 하나이다.Bouncer 클래스의 barkAnimal 메서드에 주목하자.barkAnimal 메서드의 입력 자료형이 Animal에서 Barkable로 변경되었다.그리고 bark 메서드를 호출하도록 코드를 구
추상 클래스(abstract class)는 인터페이스의 역할 + 클래스의 기능을 가지는 자바의 돌연변이 같은 클래스이다.Predator 인터페이스 -> 추상 클래스추상 클래스를 만들려면 class 앞에 abstract를 표기해야 한다.또한 인터페이스의 메서드와 같은 역
패키지(package)는 비슷한 성격의 클래스들을 모아 놓은 자바의 디렉터리house/HouseKim.javahouse/HousePark.javapackage는 이 파일이 어떤 패키지의 파일인지를 알려주는 역할house/person/ShMon.javaShMon 클래스의
접근 제어자(access modifier)를 사용하여 변수나 메서드의 사용 권한을 설정할 수 있다.privatedefaultprotectedpublic접근 제어자는 private < default < protected < public순으로 많은 접근을
스태틱(static)은 클래스에서 공유되는 변수나 메서드를 정의할 때 사용lastName 필드는 어떤 객체이든지 동일한 값인 '문'이다.항상 값이 변하지 않는다면 static을 사용해 메모리 낭비를 줄일 수 있다.static 키워드를 붙이면 자바는 메모리 할당을 딱 한

예외를 처리하기 위해 try ~ catch, throws 구문을 이용. 예외 처리 방법을 알게 되면 안전하고 유연한 프로그래밍 구사 가능 예외 처리하기 try~catch 기본 구조 try 문 안의 수행할 문장에서 예외가 발생하지 않는다면 catch 문에 문장들은 수