[Practical-Java] 6. Stream

자바8부터 스트림이 도입되었으며, 이후 버전에서 기능이 확장되고 개선되었다. java.util.stream 패키지에 존재하며 스트림 객체는 원천 데이터가 변하지 않고 가공 된 데이터가 새로 생기는 개념의 불변성 특징이 있으며 그로인해 사이드 이팩트가 없으면서 병렬처리가 가능해진다.

Continue reading

[Practical-Java] 4. Functional Programming

자바 역사 중에 제일 큰 변화가 온건 함수형 프로그램밍을 도입한 것이다. 아주 예전에 아는 개발자 동생이 함수형 프로그래밍언어 RUST를 추천할 때 처음 가볍게 접했던 기억이 있다. 당시 근무하는 회사의 개발환경에서 사용하지 않았기에 그러려니 했었다. 그만큼 함수형 프로그래밍이 유행이였던 적이 있는데 객체지향 프로그램의 자바 진영에서 자바8때 함수형 프로그램을 도입하며 패러다임 따라갔다고 생각된다.

Continue reading

[Practical-Java] 3. Abstract Class와 Interface

추상 클래스(Abstract Class)인터페이스(Interface)의 차이점 및 용도로는 추상 클래스와 인터페이스는 모두 다형성(polymorphism) 을 지원하고, 코드 재사용성을 높이며, 설계 원칙을 명확히 하기 위해 사용되지만 목적, 사용 방법 및 기능에 따라 차이가 있다.

Continue reading

Pagination