Java 언어
- 어디서나 마시는 커피처럼 어디서나 동작 가능한, 자바 커피에서 이름을 따서 만든 Java 언어
- 발표년대 : 1990’
- 핵심기능 : C언어 기능 + JVM(공통 실행환경🗺️) + 클래스(바구니 틀🗑️) + 객체(바구니🪣)
- C언어 기능에 여러 기기에서 실행가능하도록 도와주는 JVM, 그리고 데이터와 메서드를 담는 클래스를 통해 객체를 만들 수 있는 언어
왜 배워야 하는가
Java는 개발언어의 역사에 따라서 발전해온 언어 중 가장 많이 쓰이는 개발언어 중 하나
1) JVM이 있어서 여러 기기에서 실행 가능
- 여러 기기의 운영 체제📱에서 실행 가능한 언어
- 특히, 앱 개발에 적합(모바일 앱, 웹 앱 등)
2) 세상과 닮아있는 개발언어라 코드 이해와 유지 보수가 쉬움
- 존재하는 물건을 “객체”라고 부르는 세상을 닮도록 만든 객체언어
- Java 에서는 클래스🗑️를 통해 객체🪣를 만듦
3) 안정성이 높아서 프로그래밍 오류를 방지하고 보안상 안전
- Java 언어로 작성된 문맥을 바이트 코드로 변환하는 변환기(Compiler)가 먼저 오류 체크
- Java 에서 지원하는 보안 기술이 많음
4) 대규모 앱 개발 가능
- 네트워크 및 데이터베이스 연결 및 통신 등의 작업을 처리하는 API 제공
5) 다양한 개발 도구와 라이브러리
- 많은 개발자들이 쓰는 만큼 많은 라이브러리가 있음
- 이를 통해 앱 개발에 필요한 작업을 보다 쉽게 처리 가능
개발환경 구성
JRE(Java Runtime Environment)
- JRE는 Java Runtime Environment 즉, 자바 실행 환경
- JVM을 포함하고 있음
- 하지만, JRE는
.class
파일만, 즉 자바프로그램만 실행 가능
JDK(Java Development Kit)
- JDK는 Java Development Kit 즉, 자바 개발 키트
- Java 프로그램을 개발하려면 JDK가 필요!
- JRE(JVM)의 기능
- Compiler(javac) 기능:
.java
파일들을 .class
파일들로 변환
- 코드를 디버깅하는 jdb 등의 기능이 있음
Integrated Development Environment(IDE)
- IDE는 Integrated Development Environment 즉, 통합 개발 환경
- 코딩, 디버그, 컴파일, 배포 등 프로그램 개발에 관련된 모든 작업을 하나의 프로그램 안에서 처리하는 환경을 제공하는 소프트웨어
- 자바에는 IntelliJ, Eclipse, Visual Stuido Code 등이 있음
- 회사마다 사용하는 IDE는 다르지만 대부분 IntelliJ를 씀
- 특히 단축키, 디버깅, 테스트, 자동완성 등이 있어 생산성을 높일 수 있음!
Java 프로그램 이해
main 메서드
- Java 앱은 실행되면 제일먼저 클래스의 main 메서드를 실행시키는게 JVM 의 약속
public class Main {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}
주석
- 주석은 설명을 달아놓는 기능
- 실제 프로그램 실행에는 영향을 미치지 않는 유령코드 👻
- 개발자들끼리 협업할때 코드에 대한 설명을 추가하거나 주의사항을 적어놓을 때 사용
간단한 입출력
입력
- Java 프로그램에서는 기본적으로
Scanner.in
객체의 next()
명령을 사용해서 입력 받음
Scanner sc = new Scanner(System.in);
String input = sc.next();
출력
- Java 프로그램에서는 기본적으로
System.out
객체의 println()
명령을 사용해서 출력
Scanner sc = new Scanner(System.in);
String input = sc.next();
System.out.println("입력값 : " + input);
Reference
🔗 스파르타코딩클럽 Java 문법 종합반