자바 모던 인 액션 - 1

jyp·2023년 4월 7일
0

자바 모던 인 액션

목록 보기
1/1

자바가 대중적인 프로그래밍 언어로 성장한 이유

객체지향은 1990년대에 두 가지 이유로 각광받았다.
하나는 캡슐화 덕분에 C에 비해 소프트웨어 엔지니어링적인 문제가 훨씬 적다는점,
다른 하나는 객체지향의 정신적인 모델 덕분에 윈도우 95 및 그 이후 WIMP 프로그래밍 모델에
쉽게 대응할 수 있다는 사실

요약하면 '모든 것은 객체다'

자바의 또다른 기후 변화 요소

큰 시스템의 설계 방식도 환경 변화의 한 요소다.
최근에는 외부에서 큰 하위시스템 컴포넌트를 추가하고 
다른 벤더가 만든 컴퓨넌트를 이용해 개발하는 사례가 늘어나고 있다.
자바8, 자바9에서는 이런 설계 스타일에 적응할 수 있도록 디폴트 메소드와 모듈을 제공함.

자바8 설계의 밑바탕을 이루는 세가지 프로그래밍 개념

1. 스트림 처리)

스트림이란 한번에 한 개씩 만들어지는 연속적인 데이터 항목들의 모임
이론적으로 프로그램은 입력 스트림에서 데이터를 한 개씩 읽어 들이며
마찬가지로 출력 스트림으로 데이터을 한 개씩 기록한다.
즉, 어떤 프로그램의 출력 스트림은 다른 프로그램의 입력 스트림이 될 수 있다.

2. 동작 파라미터화로 메서드에 코드 전달하기 )

두 번째 프로그램 개념은 코드 일부를 API로 전달하는 기능이다.

3. 병렬성과 공유 가변 데이터

세 번째 프로그래밍의 개념은 '병렬성은 공짜로 얻을 수 있다'라는 말에서 시작된다.
스트림 메서드로 전달하는 코드는 다른 코드와 동시에 실행하더라도
안전하게 실행될 수 있어야한다. 보통 다른 코드와 동시에 실행 하더라도
안전하게 실행할 수 있는 코드를 만들려면 공유된 가변 데이터에 접근하지 않아야 한다.
이러한 함수를 순수 함수, 부작용 없는 함수, 상태 없는 함수라고 부름

자바 함수

프로그래밍 언어에서 함수(function)라는 용어는 
메서드(method)특히 정적 메서드(static method)와 같은 의미로 사용된다. 
자바의 함수는 이에 더해 수학적인 함수 처럼 사용되며 부작용을 일으키지 않는 함수를 의미한다.

람다 또는 익명 함수(anonymous function)

profile
국비 코딩

0개의 댓글