반응형
프로그래밍 언어란?
- 사람이 아닌 컴퓨터가 이해할 수 있는 0과 1로 이루어진 기계어를 사람의 언어와 이어주는 다리 역할을 하는 언어이다.
- 고급 언어와 저급 언어로 구분되며 사람에게 친숙할 수록 고급언어라고 하며 java, c, c++ 등 우리가 알고 있는 프로그래밍 언어이고 저급 언어는 어셈블리어 같은 언어로 사람이 쉽게 이해하기 어려워 배우기 어렵다.
자바란
- 1995년 썬 마이크로시스템즈에서 자바 언어를 발표했으며 오크라는 언어에서부터 시작되었으며 오크는 가전제품에 사용할 목적이었다.
- C++언어에 비해 메모리와 CPU를 지나치게 많이 사용하여 윈도우 프로그래밍 언어로는 부적합했으나 인터넷이 활성화되면서 급부상했다.
자바의 특징
- 이식성이 높은 언어이다. : JVM으로 어디서든 실행할 수 있다.
- 객체 지향 언어이다. : 객체지향 프로그래밍(OOP)로 객체들간의 조립으로 전체 프로그래밍을 완성하는 기법이다.
- 함수적 스타일 코딩을 지원한다. : 객체 지향 프로그래밍이 나오기 이전부터 있었던 함수형 프로그래밍을 지원하며 함수형 프로그래밍은 대용량 데이터의 병렬 처리와 이벤트 지향 프로그래밍에 적합하다.
- 메모리를 자동으로 관리한다. : 메모리에 할당 된 영역이 사용이 완료되면 가비지 컬렉션을 실행하여 자동으로 사용하지 않는 객체를 제거시켜준다.
- 다양한 애플리케이션을 개발할 수 있다. : 다양한 OS에서 개발할 수 있다.
- 멀티 쓰레드를 쉽게 구현알 수 있다
- 동적 로딩을 지원하다 : 애플리케이션이 실핼 될 때 모든 객체가 생성되지 않고 객체가 필요한 시점에 클래스를 동적 로딩해서 객체를 생성한다.
Java SE(Standard Edition) 기본 에디션 : 자바 프로그램들이 공통적으로 사용하는 자바 가상 기게(JVM)과 자바 프로그램 개발에 필요한 필수적인 도구, 라이브러리 API 정의한다.
Java EE(Enterprise Edition) 서버용 애플리케이션 개발 에디션 : 분산환경(네트웤, 인터넷)에서 서버 애플리케이션을 개발하기 위한 도구 및 라이브러리 API 정의하며 Servlet/JSP, 분산 처리 컴포넌트 EJB, XML 웹 서비스 등이 있다.
자바의 가상 기계(JVM)
- 가상의 운영체제 역할을 한다.
- 바이트 코드는 모든 JVM에 동일한 실행 결과를 보장하지만, JVM은 운영체제에 종속적이다.
- .java로 소스를 작성하고 javac로 컴파일하며 .class인 바이트 코드로 JVM에서 해석되어 운영체제에 맞게 번역 후 실행한다.
자바 개발 환경 구축
- openjdk 설치 : 링크
- 환경변수 설정 : 내컴퓨터 - 속성 - 고급 시스템 설정 - 환경 변수 - 시스템 변수 - 새로 만들기 - JAVA_HOME과 Path에 등록
- 환경 구축 확인 : cmd에서 javac -version 실행
Hello 실행하기
- 메모장을 열고 Hello.java로 저장 후 아래 코드 작성
public class Hello { public static void main(String[] args) { System.out.println("hello"); } }
- 저장 한 파일 위치로 가서 cmd창 실행
- javac Hello .java 실행
- Hello.class 생성 확인 후 java Hello 실행
소스 분석
public class Hello { // Hello = 클래스 이름, { = 클래스 블록
public static void main(String[] args) { // main = 메소드 이름, { = 메소드 블록
System.out.println("hello");
} // } = 메소드 블록
} // } = 클래스 블록
주석과 실행문
주석 기호 | 설명 |
// | //이 작성 된 이후부터 주석으로 한다(행 주석) |
/* */ | /*와 */ 사이에 있는 모든 범위를 주석으로 한다.(범위 주석) |
실행문과 세미콜론(;)
- 실행문은 변수 선언, 값 저장, 메소드 호출을 의미하며 실행문 마지막에는 반드시 세미콜론(;)을 붙여야한다.
- 세미콜론(;)이 있어야지 문장이 끝났다고 본다.
int x = 1; int y = 2; int z = 3;
반응형
'개발(합니다) > Java&Spring' 카테고리의 다른 글
[java-기초-03] 연산자 (0) | 2021.01.01 |
---|---|
[java-기초-02] 변수와 타입 (0) | 2020.12.31 |
Java 검사 예외(Checked) 와 비검사 예외(UnChecked) (0) | 2020.12.17 |
공변성, 무공변성, 반공변성이란? (0) | 2020.12.16 |
Spring 유효성 검사(interface) (0) | 2019.01.24 |