본문 바로가기

abstract

(2)
자바 람다(Java Lambda) 단 하나의 abstract method를 구현하는 함수 자바 람다 입문 1. 람다란? 단 하나의 abstract method를 갖는 인터페이스를 구현한 익명 클래스 인스턴스를 표현하는 함수다. (필자가 생각한 정의다.) 만약, 익명 클래스를 축약 표현(syntactic sugar)한 거라고 생각하면 되냐?! 라고 한다면 그건 또 아니다. 익명클래스는 내부 변수를 가질 수 있으나 람다는 불가능하다. this가 가리키는 것도 다르고 내부 동작도 좀 다르다고 한다. (근데 람다를 쓰면 익명의 클래스가 생성됨) '람다식' 이라고도 표현하는데 대부분 람다를 쓸 때 표현식 즉, "코드 조각"으로 구현하기 때문에 그렇지 않을까한다. 2. 람다는 어떤 문제를 해결하기 위한 기술인가? 자바에서 람다는 함수형 프로그래밍 패러다임으로 전환하기 위한 하나의 '단계'다. 따라서 람..
JAVA 인터페이스와 추상클래스 공통점, 차이점 정리 인터페이스(Interface) 와 추상클래스(Abstract class) - 공통점: 추상클래스와 인터페이스는 선언만 있고 구현 내용이 없는 클래스다.(자바8부터 인터페이스에 default method 구현이 가능해졌지만 일반적으로 인터페이스는 구현이 없다.)따라서 인터페이스와 추상클래스를 가지고 새로운 인스턴스(객체)를 생성할 수 없다.추상클래스를 extends로 상속받아 구현한 자식클래스나 인터페이스를 implements 하고 구현한 자식클래스만이 객체를 생성할 수 있다.=> 결국 자식클래스가 무언가 반드시 구현하도록 위임해야할 때 사용해야 한다.- 차이점 추상클래스추상클래스는 추상메서드(abstract method)가 하나라도 존재하는 클래스를 말한다.추상클래스는 추상메서드(abstract meth..