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