자바란?
- 자바는 제임스 고슬링과 연구원들이 개발한 객체 지향 프로그래밍 언어이다.
- 처음에는 가전제품을 동작시키는 프로그램을 만들기 위해 탄생했으나, 지금은 웹과 모바일 개발에서 많이 사용된다
- 자바는 특히 우리나라에서 쓰이는 프로그래밍 언어 중 사용 빈도가 매우 높다.
자바로 무엇을 할 수 있을까?
웹 프로그래밍
- 자바는 웹 프로그램 개발에 널리 사용되며 서버 사이드 개발에 강점이 있다.
- Servlet, JSP, Spring 등 기술들을 사용하여 웹 프로그램을 만들 수 있다.
안드로이드 애플리케이션
- 자바는 안드로이드 애플리케이션 개발을 할 때 사용하는 메인 언어이다.
- 안드로이드 스튜디오와 함께 자바를 사용하면 쉽게 모바일 앱을 개발할 수 있다.
게임 개발
- 자바를 이용해 게임 개발도 가능하다.
- 게임 개발을 위한 대표적인 라이브러리로는 LWJGL이 있고 프레임워크로는 libGDX가 있다.
데이터베이스 처리
- 자바는 데이터베이스 시스템에 연결하여 데이터를 관리하는 데 매우 적합한 언어이다.
빅데이터 및 분산 처리
- 자바는 하둡, 스파크와 같은 빅 데이터 처리에 필요한 도구와 프레임워크를 제공하여 클러스터에서 데이터와 연산을 분산시켜 병렬처리 할 수 있다.
자바 둘러보기
- 기본 'Hellow world'를 출력하는 프로그램을 작성하려면 JDK, IDE, 클래스, 함수, public 등 많은 개념을 이해하고 실행하는 방법을 알아야하기 때문에 처음 진입장벽이 높다.
JDK
- Java Development Kit의 약자로 자바 코드를 작성하는 도구, 소스를 컴파일하는 컴파일러 등으로 이루어져 있다.
자바 파일과 컴파일 알아두기
- JDK를 설치했다면 JDK가 설치된 디렉터리의 하위 디렉터리인 bin에 javac.exe.와 java.exe 파일이 저장되어 있다.
- 만약 java.exe만 있고 javac.exe가 없다면 JDK가 아닌 JRE를 설치한 것이다.
JRE란 JDK보다 작은 개념으로 자바가 실행될 수 있는 최소한의 파일들이 설치되어 있는 환경이라고 한다.
javac
- javac는 java compiler의 줄임말이다.
- 즉, 자바 파일을 컴파일할 때 사용하는 것이 javac.exe 파일이다.
자바 프로그램을 작성하고 실행하는 과정
- 소스 코드인 MyProgram.java 파일을 작성한다.
- 컴파일러는 자바 소스 코드를 이용하여 클래스 파일인 MyProgram.class를 생성한다. 이때 이 클래스 파일은 JVM이 인식할 수 있는 이진 파일이다.
- JVM은 클래스 파일의 이진 코드를 해석하여 프로그램을 실행한다.
- MyProgram의 실행 결과가 컴퓨터에 반영된다.
.exe가 아닌 .class를 만드는 이유
- 자바도 .exe를 만들 수 있으나 JVM이 exe에 포함하는 형식이어야 함으로 exe 파일이 커진다는 단점이 있어 class를 만든다.
Main 메서드 이해하기
- HelloWorld.java 파일에 main 메서드 추가하기.
- 메서드와 함수는 동일한 개념이다. 클래스 내의 함수는 보통 메서드라고 한다.
- 즉, 자바는 모든 것이 클래스 기반이므로 자바에서 사용하는 함수는 모두 메서드이다.
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hellow wolrd!");
}
}
- public: 메서드의 접근 제어자로, 누구나 이 메서드에 접근할 수 있다는 의미이다.
- static: 메서드에 static이 지정되어 있으면 이 메서드는 인스턴스를 생성하지 않아도 실행될 수 있다는 것을 의미한다.
- void: 메서드의 리턴 값이 없음을 의미한다.
- String[]: String은 문자열을 나타내는 자바의 자료형이다.
- args: String[] 자료형의 변수 명이다.
- System.out.println: 표준 출력으로 데이터를 보내는 자바의 내장 메서드로 문자열을 화면에 출력한다.
728x90
반응형
'Programming > Java' 카테고리의 다른 글
java 코드 구조, 이름 형식 (0) | 2024.07.10 |
---|---|
자바의 8가지 특징 (0) | 2024.07.10 |