정의

JAVA 프로그래밍

효땡 2024. 3. 21. 15:59

정의

- 프로그램

컴퓨터에게 특정 문제를 해결하기 위해 처리방법과 순서를 기술하여 컴퓨터에 입력되는 일련의 명령문 집합체

-> 프로그래밍된 결과물

 

- 프로그래밍

하나이상의 관련된 추상 알고리즘을 특정한 프로그래밍언어를 이용해 구체적인 프로그램으로 구현하는 기술

-> 코딩(Coding)


프로그래밍 언어가 필요한 이유

- 컴퓨터가 사용하는 언어: 0 / 1

- 사람이 사용하는 언어: 자연어 / 문자

 

-> 서로 사용하는 언어가 다르다.

    1. 서로 의사소통이 힘들다.

    2. 중개자가 필요하다.


다양한 프로그래밍 언어

- 저급언어(Low-Level Language)

  : 컴퓨터가 직접 이해할 수 있는 언어(0/1에 가까운 언어)

  ex) 기계어, 어셈블리어

  1. 실행속도가 빠르다.

  2. 기계마다 기계어가 상이하다.

  3. 호환성이 없다.

  4. 유지관리가 어렵다.

 

- 고급언어(High-Level Language)

  : 개발자가 이해할 수 있도록 소스코드를 작성할 수 있는 언어(중개자 역할을 필요)

  ex) JAVA, Python, C++

  1. 실행을 위해서는 번역과정이 필요하다.


컴파일러(Compiler) / 인터프리터(Interpreter)

-> 고급언어로 작성된 소스코드의 경우 컴퓨터가 이해할 수 없으므로 컴파일러나 인터프리터를 이용하여 컴퓨터가 이해하고 실행할 수 있는 기계어로 번역(Compile)을 수행한다.

 

- 컴파일러(Compiler)

  : 소스코드를 목적코드로 변환하여 실행한다.

  ex) JAVA, C, C++

  1. 한꺼번에 읽고 한꺼번에 번역

 

- 인터프리터(Interpreter)

  : 문장단위로 읽어들여 해석을 하여 실행한다.

  ex) Python, JavaScript, Ruby

  1. 문장단위로 읽어들여 해석을 하여 실행한다.


자바 프로그래밍 언어의 응용분야

JAVA

1. 웹 애플리케이션(Front-end)

    - HTML

    - CSS

    - JavaScript

 

2. 웹 애플리케이션(Back-end)

    - JSP

    - Spring Framework

    (+ php / asp / py)

 

3. 안드로이드 애플리케이션

    - 모바일 응용APP

    - 게임

 

4. 빅데이터

    - 웹크롤링

    - 텍스트마이닝

    - 시각화


웹 애플리케이션 3요소

1. 웹 표준(Web Standards)

웹에서 사용되는 기술이나 규칙을 의미하여 웹사이트를 작성할 때 이용하는 HTML, CSS, JavaScript 등에 규정과 다른 기종이나 다른 플랫폼에서도 웹페이지가 구현되도록 제작하는 기법 등을 포함한다.

 

2. 웹 접근성(Web Accessibility)

어떠한 사용자(장애인, 노인 등), 어떠한 기술 환경에서도 사용자가 전문적인 능력없이 웹사이트에서 제공하는 모든 정보에 접근할 수 있도록 보장하는 것을 뜻한다. 또한 모든 사용자가 웹 콘텐츠를 보다 손쉽게 접근할 수 있도록 웹 접근성 지침을 준수하고 설계하고, 실사용성을 고려하여 웹사이트를 구현하였는지 여부의 수준을 의미한다.

 

3. 웹 호환성(Cross Browsing)

서비스 이용자 단말기의 하드웨어 및 소프트웨어 환경이 다른 경우에도 동등한 서비스를 제공하는 것을 의미한다.


웹 서버는 웹브라우저로부터 HTTP요청을 받아들이고, HTML문서(웹페이지)를 반환한다.

-> HTML문서(웹페이지)에는 그림, CSS, 자바스크립트를 포함한다.


Front-end

-> 사용자에게 시각적으로 보여지는 부분을 의미한다.

    - UI(User Interface: 사용자와 컴퓨터 상호간의 소통을 원활하게 도와주는 연계작업

    - HTML, CSS, 자바스크립트

    - SPA(Single Page Application)

    - 앵귤러, 리액트, Vue

 

Back-end

-> 사용자에게 드러나지 않는 DB공간을 의미한다. 

    ex) 회원가입, 로그인, 장바구니 등)

    - JSP, ASP, PHP, 파이썬


UI(User Interface)

1. HTML (구조/뼈대역할)

   -> Hyper Text Markup Language

   - 웹페이지 표시를 위해 개발된 지배적인 마크업 언어

 

2. CSS (외형담당)

    -> Cascading Style Sheets

    - 꾸미는 역할 담당

 

3. JavaScript (동작담당)

    - 객체 기반의 스크립트 프로그래밍 언어로 웹브라우저 내에서 주료 사용

    - 다른 언어를 사용하는데 유용