1. 프로그래밍이란?
- 프로그램 : 프로그램 언어로 이루어진 나열된 명령들의 집합
- 프로그램 언어 : 컴퓨터와의 대화에 사용되는 대화 수단
2. 컴파일 / 디버그
- 컴파일(Compile) / 컴파일러(Compiler) - 기계어 변역
: 저/고급언어로 작성된 프로그램을 기계어로 번역하는것(소스코드 전체) - 디버그(Debug) / 디버깅(Debugging) / 디버거(Debugger)
: 프로그램의 오류나 비정상적인 연산을 발견하고 그 원인을 밝히는 작업 - 진행 순서 : 소스코드 > 컴파일 > 디버깅 > 실행
3. 인터프리터(Interpreter)
- 고급언어로 작성된 소스코드를 한 줄 씩 번역하며 프로그램을 실행
- 컴파일러를 거쳐서 기계어로 변환되지 않고 바로 실행
- 많은 프로그램들이 가상머신을 사용하여 가상머신이 이해할 수 있는 중간형태로 변환 후 실행
- 진행 순서 : 소스코드 > 컴파일 > 자바 컴파일러 > 바이트코드 변경 > 인터프리터(JVM) > 실행
4. 자바의 특징
1) 멀티스레딩 지원
- 여러 가지 작업을 동시에 실행 가능
- 멀티 프로세서 하드웨어를 지원
- 멀티스레딩 프로그램을 작성가능
2) 컴퓨터 구조에 독립적
- 운영체제(OS)에 관계없이 같은 코드 사용
- JVM(Java Virtue Machine)지원 - 바이트코드 변환
3) 객체지향 언어
- 자바의 모든 것은 클래스의 범위를 벗어나지 않음
- 추상화, 다형성, 상속성, 은닉성
- 데이터를 객체로 분리
4) 이식성이 있다
- 구현에 따라서 달라지는 언어 스펙이 없음
int
형은 항상 32bit- 문자열은 항상 유니코드 형식으로 저장
5) 라이브러리 지원
- TCP/IP, HTTP, FTP 프로트콜 처리 라이브러리
- 개발속도 증가
6) 안정성
- 실행 스택을 벗어난 접근
- 자신의 프로세스 밖의 메모리 공간 접근
- 파일을 허락없이 읽거나 쓰는 것
5. IDE(Integrated Development Environment)
- 효율적으로 소프트웨어를 개발하기 위한 통합개발환경 소프트웨어 어플리케이션 인터페이스(IDE)
- 코드편집기, 디버거, 컴파일러, 인터프리터 등을 포함하고 개발자에게 제공
- 소프트웨어를 개발하는 과정에 모든 작업을 하나의 소프트웨어에서 처리할 수 있는 환경을 제공
- 예시는 Visual Studio, VS Code, eclipse, Pycharm 등
'JAVA > 이론' 카테고리의 다른 글
[Java] 6. 배열 (0) | 2023.03.14 |
---|---|
[Java] 5. 반복문 (0) | 2023.03.14 |
[Java] 4. 조건문 (0) | 2023.03.14 |
[Java] 3. 연산자와 입출력 (0) | 2023.03.13 |
[Java] 2. 변수&자료형 (0) | 2023.03.08 |