JAVA/이론

[Java] 1. 프로그래밍 언어&자바

katia 2023. 3. 8. 21:44

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