목차
👻 JAVA 언어의 특징
- 운영체제에 독립적이고, JVM은 종속적이다.
- 객체지향언어이다.
- 비교적 배우기 쉽다.
- Garbage Collector가 자동적으로 메모리를 관리해준다.
- 네트워크와 분산처리를 지원한다.
- 시스템과 관계없이 Multi-Thread가 구현가능하며, Java API가 제공된다.
- Dynamic Loading을 지원하여, 전체 애플리케이션을 다시 컴파일하지 않고 필요한 시점에 클래스를 로딩하여 사용할 수 있다.
JVM ( Java Virtual Machine )
JVM은 '자바를 실행하기 위한 가상 기계' 이다.
가상 컴퓨터 (virtual computer)는 실제 컴퓨터 (하드웨어)가 아닌 소프트웨어로 구현된 컴퓨터이다.
자바로 작성된 애플리케이션은 모두 JVM에서만 실행된다.

일반 애플리케이션은 OS와 바로 맞붙어있어 OS에 종속적이다.
반면에 Java 애플리케이션은 JVM하고만 상호작용을 해서 OS와 하드웨어에 독립적이다.
👻변수 ( Variable)
변수란?
" 단 하나의 값을 저장할 수 있는 메모리 공간. "
변수 선언과 초기화
int age; //age라는 이름의 변수를 선언
변수 타입 : 정수형, 실수형, 문자형 등
변수 이름 : 메모리 공간의 이름
변수의 초기화 = " 변수를 사용하기 전 처음으로 값을 저장하는 것. "
변수의 명명규칙
1. 대소문자가 구분되며 길이에 제한 X
2. 예약어 사용 X
3. 숫자로 시작 X
4. 특수문자는 '_' 와 '$' 만 허용
1. 클래스의 이름의 첫 글자는 대문자
- 변수와 메서드의 이름의 첫 글자는 항상 소문자
2. 여러 단어로 이루어진 이름은 단어의 첫 글자를 대문자
3. 상수의 이름은 모두 대문자. 여러 단어인 경우 '_' 로 구분
변수의 타입
기본형과 참조형
기본형 ( primitive type )
: 논리형 (boolean), 문자형 (char), 정수형 (byte,short,int,long), 실수형 (float,double)

※ int 타입의 변수는 대략 10자리 수 / float 타입의 변수는 7자리 수
참조형 ( reference type )
: 객체의 주소를 저장.
참조형 변수를 선언할 때 변수의 타입으로 클래스의 이름을 사용함.
클래스이름 변수이름; // 변수의 타입이 기본형이 아닌 것들은 모두 참조 변수
Date today = new Date(); // Date객체 생성해서, 그 주소를 today에 저장
상수 ( constant )
" 값을 한번만 저장할 수 있는 공간 "
변수의 타입 앞에 'final' 을 붙여줌.
상수는 반드시 선언과 동시에 초기화해야함.
final variableType constant = constantValue
리터럴 ( literal )
" 그 자체로 값을 의미하는 것 "
우리가 기존에 알고 있던 상수의 다른 이름.
(final) variableType variableName = literal

long 타입 : 'l' or 'L'
16진수 : '0x' or '0X'
8진수 : '0'
2진수 : '0b' or '0B'
float 타입 : 'f' or 'F'
double 타입 : 'd' or 'D'
printf()
'지시자'를 통해 변수의 값을 여러 가지 형식으로 변환하여 출력.
System.out.printf("age : %d",age);

Scanner
화면으로부터 입력 받음.
import java.util.* //Scanner클래스를 사용하기 위해 추가
Scanner scanner = new Scanner(System.in); // Scanner 객체를 생성
String input = scanner.nextLine(); // 입력받은 내용을 input에 저장
int num = Integer.parseInt(input); // 입력받은 내용을 int타입의 값으로 변환
형변환
" 변수 또는 상수의 타입을 다른 타입으로 변환하는 것 "
형변환하고자 하는 변수나 리터럴의 앞에 변환하고자 하는 타입을 괄호와 함께 붙여줌.
double d = 85.4;
int score = (int)d; // double 타입의 변수 d를 int 타입으로 형변환
큰 타입 -> 작은 타입 변환에서 '값 손실'(loss of data) 발생 가능.
작은 타입 -> 큰 타입 변환에서 빈 공간은 0 또는 1로 채워짐.
자동형변환
: 기존 값을 최대한 보존할 수 있는 타입으로 자동 형변환
1. Boolean을 제외한 나머지 7개의 기본형은 서로 형변환 가능
2. 기본형과 참조형은 서로 형변환 X
3. 서로 다른 타입의 변수간의 연산은 형변환이 원칙, 그러나 값의 범위가 작은 타입에서 큰 타입으로의 형변환 생략 O
'JAVA' 카테고리의 다른 글
| JAVA STUDY - CH7 : 객체지향 프로그래밍 - 2 (2) | 2025.01.14 |
|---|---|
| JAVA STUDY - CH6 : 객체지향 프로그래밍 - 1 (1) | 2025.01.10 |
| JAVA STUDY - CH 3 : 연산자 operator (0) | 2024.07.01 |
| JAVA STUDY - CH 5 : 배열 Array (0) | 2024.05.09 |
| JAVA STUDY - CH 4 : 조건문과 반복문 (0) | 2024.05.02 |