안녕하세요.
오늘은 Java에 대해 알아보겠습니다.
Java 란,
- C언어 기능에 여러 기기에서 실행 가능하도록 도와주는 공통 실행환경, 그리고 데이터와 메서드를 담는 클래스를 통해 객체를 만들 수 있는 언어
- 핵심 기능 : C언어 기능 + 공통 실행환경(놀이터), 클래스(바구니 틀), 객체(바구니)
1. 특징
- 개발 언어의 역사에 따라서 발전해 온 언어 중 가장 많이 쓰이는 개발 언어 중 하나입니다.
- 공통 실행환경이 있어서 여러 기기에서 실행 가능합니다. 특히, 앱 개발에 적합!
- 세상과 닮아있는 개발 언어라 코드를 이해하기 쉽고 유지 보수가 쉽습니다.
- Java 언어로 작성된 문맥을 바이트 코드로 변환하는 변환기(Compiler)가 먼저 오류를 체크합니다.
- 대규모 앱 개발이 가능합니다.
2. JVM
- Java Virtual Machine의 약자로 “자바 가상 머신”이라는 뜻을 가지고 있습니다.
- 여러 가지의 기기 위에 Java 프로그램을 실행시킬 수 있는 가상의 기기를 만들어주는 것을 의미합니다
3. JRE
- Java Runtime Environment 즉, 자바 실행 환경이라는 뜻을 가지고 있습니다.
- JVM 을 설치하는 방법은 JRE를 설치하는 것입니다.
- 그러나 JRE(JVM)만 있다면 Java 프로그램을 실행만 시킬 수 있습니다.
4. JDK
- Java Development Kit 즉, 자바 개발 키트라는 뜻을 가지고 있습니다.
- JRE 기능도 포함하고 있기때문에 JDK만 기억해주셔도 됩니다.
- '.java' 파일들을 '.class' 파일들로 변환해 주는 Java Compiler(javac) 기능이 있습니다.
- 코드를 따라가면서 변수를 볼 수 있는 “디버깅” 기능을 제공합니다.
5. main 메서드
- JVM의 약속 : Java 앱은 실행되면 제일 먼저 클래스의 main 메서드를 실행시키는 것
- 밑의 main 메서드 코드를 해석해보면,
- public class Main : "클래스 정의" 한 것
- public - "접근 제어자", 클래스 경로 외부에서 실행시킬 수 있다고 표시( cf : 그 외 private, protected 도 있음)
- class - 객체를 만드는 클래스라고 선언한 것
- Main - 클래스 명 ( cf : 파일명을 꼭 일치 시켜야 함!!)
- public static void main : 메인 메서드 정의한 것
- public - "접근 제어자", 외부에서 실행시킬수 있다고 표시한 것
- static - Java컴파일러가 바이트 코드로 변환할 때 미리 정의되는 메서드 표기한 것( cf : 앱 실행 시 한 번만 정의되며, static 메서드 또는 변수(데이터) 끼리만 호출할 수 있습니다.)
- void - "응답할 값이 없다"라고 정의한 것( cf : 메서드의 응답 값을 정의하는 곳입니다. [예시 : int(정수), char(문자) 등등 ])
- (String[] args) : 메서드가 시작될 때 넘겨받을 데이터들(변수들)
- String[] - 문자열 여러 개 데이터 타입
- args - 문자열 여러 개 데이터의 이름 (사용자가 정의한 값 아무거나 써도 됩니다)
6. 저장 공간의 선언
- 선언을 할 때에는 항상 저장 공간(그릇)에 담을 값의 타입(그릇의 종류)과 이름(그릇의 이름)을 명시하여 선언해야 합니다.
- 밑에는 예시 )
int number; // number 라는 이름의 int(숫자)타입의 저장공간을 선언
String name; // name 이라는 이름의 String(문자열)타입의 저장공간을 선언
7. 값의 저장
- 선언과 동시에 저장을 하면 이것은 "초기화"라고 합니다.
- 선언 이후에 값을 저장한다면 이것은 "덮어쓰기"라고 합니다.
- 밑에는 예시 )
int number = 10; // 1. 선언과 동시에 값을 저장공간에 저장 (=초기화)
number = 11; // 2. 선언 이후에 다른값을 저장공간에 저장
8. 입력 & 출력
- Java 프로그램에서는 기본적으로 'System.in' 객체의 'next()' 명령을 사용해서 입력받습니다.
Scanner sc = new Scanner(System.in); // Scanner 객체를 new 명령어로 생성합니다.
String input = sc.next(); // sc(Scanner)의 .next(); 를 실행하면 input 변수에 입력한 글자를 받을 수 있습니다.
- Java 프로그램에서는 기본적으로 'System.out' 객체의 'println' 명령을 사용해서 출력합니다.
Scanner sc = new Scanner(System.in);
String input = sc.next();
System.out.println("입력값 : " + input); // 입력한 글자를 출력합니다.
// 실행 결과
{입력}
입력값 : {입력}
'TIL(Today I Learned)' 카테고리의 다른 글
[Java] Math.pow() - 주어진 밑수와 지수로 제곱을 계산하여 출력하기 (0) | 2024.07.25 |
---|---|
[Java] Scanner 클래스에 대하여 (1) | 2024.07.24 |
[git/github] git flow(branch를 팀원별로 생성하여 협업하는 방법) (1) | 2024.07.22 |
[git] 지금 작성하고 있는 내역 저장 안하고 git pull 하는 방법 (0) | 2024.07.18 |
웹 개발 5주차 강의 과제 관련하여 (1) | 2024.07.17 |