프로그래밍 언어
고급 언어와 저급 언어로 구분
- 고급 언어: 컴퓨터와 대화할 수 있도록 만든 언어 중에서 사람이 쉽게 이해할 수 있는 언어 (C, C++, JAVA)
고급 언어로 작성된 내용을 소스라고 부름. 컴파일러라는 소프트웨어에 의해 기계어로 변화된 후 컴퓨터에서 실행 - 저급 언어: 기계어에 가까운 언어 (어셈블리어)
자바
- 1995년도 썬 마이크로시스템즈에서 자바 언어 발표
- 1991년도 고안된 오크(Oak)라는 언어에서부터 시작, 처음에는 가전제품에 사용될 목적
자바의 특징
- 이식성이 높은 언어: 서로 다른 실행 환경을 가진 시스템 간에 프로그램을 옮겨 실행할 수 있는 것
자바 실행 환경(JRE: Java Runtime Environment)이 설치되어 있는 모든 운영체제에서 실행 가능 - 객체 지향 언어(OOP: Object Oriented Programming)
객체 만들기 위해 설계도인 클래스 작성, 객체와 객체 연결하여 목적에 맞는 프로그램 만든다
캡슐화, 상속, 다형성 기능을 완벽하게 지원 - 함수적 스타일 코딩 지 원
자바8부터 함수적 프로그래밍을 위해 람다식(Lambda Expressions) 지원 - 메모리 자동 관리: Garbage Collector
- 다양한 애플리케이션 개발
- 멀티 스레드를 쉽게 구현
- 동적 로딩을 지원: 유지 보수를 쉽고 빠르게 진행할 수 있다
- 막강한 오픈소스 라이브러리 풍부
Java SE(Standard Edition, 기본 에디션)
- JVA(Java Virtual Machine, 자바 가상 기계)
- JDK(Java Developement Kit, 자바 개발 키트)
- JDK: JVM, 라이브러리 API, 컴파일러 등의 개발도구 포함 // 개발에 필요한 도구
- JRE: JVM, 라이브러리 API // 표준 클래스 라이브러리
* API 도큐먼트
http://docs.oracle.com/javase/8/docs/api/
프로그램 소스 분석
- 클래스: 필드 또는 메소드를 포함하는 블록
클래스의 이름은 소스 파일명과 대소문자가 일치해야 함
숫자로 시작 ㄴㄴ, 공백 포함 ㄴㄴ - 메소드: 어떤 일을 처리하는 실행문을 모아 놓은 블록
클래스 내부에 main() 메소드가 없거나 잘못 작성하면 클래스를 실행할 수 없다
주석
- // : 행주석
- /* ~ */ : 범위 주석
package thisisjava.chap01.num01;
/*
작성자: 아이엠제니
작성일: 2021. 09. 08.
*/
public class Hello {
//프로그램 실행 진입점
public static void main(String[] args) {
//콘솔에 출력하는 실행문
System.out.println("Hello, Welcome to the java world!");
} //end of class
}
실행문과 세미콜론(;)
- 실행문은 변수 선언, 값 저장, 메소드 호출에 해당하는 코드
- 실행문의 마지막에 반드시 세미콜론(;)을 붙여서 실행문이 끝났음을 표시
package thisisjava.chap01.num01; public class RunStatementExample { public static void main(String[] args) { int x = 1; //변수 x를 선언하고 1을 저장 int y = 2; //변수 y를 선언하고 2를 저장 int result = x + y; //변수 result를 선언하고 x와 y를 더한 값을 저장 System.out.println(result); //콘솔에 출력하는 메소드 호출 } }
- 1을 x에 넣고, 2를 y에 넣어. 그리고 x랑 y를 더한값을 result에 넣어.
'이것이 자바다' 공부 기록
300x250
'Language > JAVA' 카테고리의 다른 글
[JAVA] 연산자와 연산식 2 // 이항연산자 삼항연산자 (0) | 2021.09.13 |
---|---|
[JAVA] 연산자와 연산식 1 // 단항연산자 이항연산자 (0) | 2021.09.12 |
[JAVA] 데이터 타입 변환 // 자동타입변환 강제타입변환 연산식타입변환 (0) | 2021.09.11 |
[JAVA] 데이터 타입 // 정수 실수 문자 논리 (0) | 2021.09.10 |
[JAVA] 변수 (0) | 2021.09.09 |