서비스 중에 있는 프로그램의 환경을 사용자의 환경에 이식받아 서로 소통이 가능하게 하는 도구의 집합체.
(상대방의 환경을 나의 환경에 다운로드 받아서 활용할 수 있음)
자신들의 기능을 도구화 시켜놓음
서버와 클라이언트를 이어 사용자가 사용할 수 있게 해주는 도구.
정의 및 프로토콜 집합을 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 메커니즘
입출력 장치(I/O 장치)
간단하게는 마우스, 키보드, 모니터, 마이크 등등이 있다.
사용자가 컴퓨터에 입력을 할 수 있게 해주고(키보드, 마우스), 컴퓨터는 사용자가 원하는 답변을 출력해주는 도구 (모니터, 스피커, 프린터)
프로그래밍에서의 함수란?
프로그램 소스 코드에서 일정한 동작을 수행하는 코드(들) - 매개변수가 있어 그에 맞는 값을 할당해주어야 작동함.
기능 덩어리
공구통 안의 공구들. 없어도 할 수 있지만 있으면 매우 간편하고 편리하게 해주는 도구.
함수를 이용해서 식을 간결하게 만들고(중복되는 부분을 함수로 정의하고) 인자값을 받아서 활용할 수 있다.
이를 통해 아래의 효과를 얻을 수 있다. - 코드 파편화(커다란 코드를 나눠서 사용하기 위해 잘라낼 수 있음) - 코드 집중화(반복되는 코드를 지워 중요한 코드를 부각시킬 수 있음) - 코드 은닉화(어렵게 정의한 내용을 볼 필요 없게 감추고, 내부적으로 바꿔도 결과만 잘 나올 수 있게 해줄 수 있다.)
WORA(Write Once Run Anywhere)
‘한 번 작성된 코드는 모든 플랫폼에서 실행된다’는 의미
C언어 등 기존 언어가 가진 플랫폼 종속성을 극복
(C언어에서는 컴파일러를 기종별로 따로 구비해야하나, 자바는 기종에 맞는 JRE를 셋팅해주면 됨)
이식성이 좋다(호환성이 좋다)
WORA를 가능하게 하는 자바의 특징
바이트코드 : 가상 컴퓨터가 이해할 수 있는 중간코드로 컴파일한 코드(환경에 맞춰서 중간코드로 컴파일해서 어디든 호환)
JVM(Java Virtual Machine, 자바 가상 기계) - 동일한 자바 실행환경을 제공해주기 위해 각기 다른 플랫폼에 설치하는 소프트웨어 - JVM 자체는 플랫폼에 종속적이지만 자바는 독립적 - 오라클과 IBM 등에서 개발, 공급됨 - 자바 응용프로그램을 실행시키려면 JVM이 응용프로그램을 구성하는 클래스 파일(.class)의 바이트 코드를 실행