자바 소개
Java는 1995년에 탄생한 세계에서 가장 많이 사용되는 프로그래밍 언어 중 하나입니다. Sun Microsystems(현재 Oracle)에서 제공합니다. 그의 철학 "한 번 작성하면 어디서나 실행 가능" 기업, Android 및 분산 시스템 애플리케이션에서 선호되는 선택이 되었습니다.
무엇을 배울 것인가
- 자바의 역사와 철학
- JVM, JRE 및 JDK의 차이점
- 개발 환경 구성
- 자바 프로그램의 구조
- 명명 규칙
자바의 역사
Java는 1991년 Sun Microsystems의 내부 프로젝트인 "Oak"으로 탄생했습니다. 제임스 고슬링이 이끄는 목표는 장치용 언어를 만드는 것이었습니다. 내장되었지만 웹이 폭발적으로 증가하면서 Java는 애플릿에서 틈새 시장을 찾았습니다. 그리고 서버 측 애플리케이션에서.
기본 단계
- 1995년: 최초 공개 릴리스(Java 1.0)
- 2004년: Java 5에는 제네릭, 주석, 열거형이 도입되었습니다.
- 2014년: Java 8은 람다 표현식과 Stream API를 제공합니다.
- 2017년: Oracle은 반기별 릴리스를 채택합니다.
- 2021년: Java 17 LTS(장기 지원)
- 2023년: 가상 스레드가 포함된 Java 21 LTS
JVM, JRE 및 JDK
이 세 가지 구성 요소의 차이점을 이해하는 것은 모든 사람에게 필수적입니다. 자바 개발자.
JVM(자바 가상 머신)
JVM은 Java 생태계의 핵심입니다. 실행되는 가상 머신입니다. 프로그램 플랫폼을 독립적으로 만드는 Java 바이트코드.
Codice Sorgente (.java)
|
v
Compilatore (javac)
|
v
Bytecode (.class)
|
v
JVM (esecuzione)
JRE(자바 런타임 환경)
JRE에는 JVM과 실행에 필요한 표준 라이브러리가 포함되어 있습니다. 자바 애플리케이션. 필요한 최종 사용자에게는 충분합니다. 자바 프로그램을 실행합니다.
JDK(자바 개발 키트)
JDK에는 JRE와 개발 도구인 컴파일러(javac), 디버거, 문서 및 다양한 유틸리티. 개발이 필요하다 자바 애플리케이션.
+------------------------------------------+
| JDK |
| +------------------------------------+ |
| | JRE | |
| | +------------------------------+ | |
| | | JVM | | |
| | +------------------------------+ | |
| | + Librerie Standard | | |
| +------------------------------------+ |
| + Compilatore (javac) |
| + Debugger |
| + Tools (jar, javadoc, etc.) |
+------------------------------------------+
개발 환경 설정
1. JDK 설치
Java로 개발하려면 LTS 배포판을 설치하는 것이 좋습니다 (장기 지원) Java 21과 같습니다.
# Aggiorna i repository
sudo apt update
# Installa OpenJDK 21
sudo apt install openjdk-21-jdk
# Verifica l'installazione
java --version
javac --version
# Installa OpenJDK 21
brew install openjdk@21
# Aggiungi al PATH
echo 'export PATH="/opt/homebrew/opt/openjdk@21/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
# Verifica
java --version
# Scarica da: https://adoptium.net/
# Oppure usa winget:
winget install EclipseAdoptium.Temurin.21.JDK
# Verifica (PowerShell)
java --version
2. IDE 구성
IntelliJ IDEA는 전문 Java 개발에 가장 많이 사용되는 IDE입니다. 커뮤니티 버전은 무료이며 이 과정에 충분합니다.
IDE 권장
- IntelliJ 아이디어: 기업 프로젝트에 가장 완벽하고 탁월함
- VS 코드: 경량, Java 확장 포함(Java용 확장 팩)
- 식: 역사적, 여전히 기업 부문에서 사용됨
Java 프로그램의 구조
첫 번째 프로그램
모든 Java 프로그램은 메소드를 포함하는 클래스로 시작됩니다. main.
/**
* Il mio primo programma Java.
* Questo è un commento Javadoc.
*/
public class HelloWorld {
/**
* Punto di ingresso dell'applicazione.
* @param args argomenti da linea di comando
*/
public static void main(String[] args) {
// Questo è un commento su singola riga
System.out.println("Ciao, Mondo!");
/*
* Questo è un commento
* su più righe
*/
}
}
구조 분석
public class HelloWorld // Dichiarazione della classe
{ // La classe DEVE avere lo stesso nome del file
public // Modificatore di accesso (visibile ovunque)
static // Metodo di classe (non richiede istanza)
void // Tipo di ritorno (nessun valore)
main // Nome del metodo (entry point)
(String[] args) // Parametri (array di stringhe)
System.out.println() // Stampa su console con newline
}
컴파일 및 실행
# Compila il file sorgente
javac HelloWorld.java
# Viene generato HelloWorld.class (bytecode)
# Esegui il programma
java HelloWorld
# Output: Ciao, Mondo!
명명 규칙
Java에는 코드를 작성하는 잘 정의된 명명 규칙이 있습니다. 읽기 쉽고 전문적입니다.
// CLASSI: PascalCase (maiuscola iniziale ogni parola)
public class StudenteUniversitario { }
public class GestoreOrdini { }
// METODI e VARIABILI: camelCase (minuscola iniziale)
public void calcolaMedia() { }
private String nomeCompleto;
int conteggioStudenti;
// COSTANTI: UPPER_SNAKE_CASE
public static final int MAX_STUDENTI = 30;
public static final String CODICE_SCUOLA = "SC001";
// PACKAGE: tutto minuscolo, dominio invertito
package com.scuola.gestione.studenti;
package it.istituto.registro.voti;
이름 모범 사례
따라야 할 규칙
- 설명:
calcolaMediaVoti()대신에calc() - 약어를 사용하지 마세요.
studente대신에std - 방법에 대한 동사:
getVoto(),setNome(),isPromosso() - 클래스별 명사:
Studente,Corso,Voto - 컬렉션의 복수형:
List<Studente> studenti
댓글 유형
// 1. Commento su singola riga
int voto = 8; // Voto dello studente
// 2. Commento su più righe
/*
* Questo blocco di codice calcola
* la media dei voti di uno studente
* considerando tutti i trimestri.
*/
// 3. Commento Javadoc (per documentazione)
/**
* Calcola la media aritmetica dei voti.
*
* @param voti array dei voti da mediare
* @return la media calcolata
* @throws IllegalArgumentException se l'array è vuoto
*/
public double calcolaMedia(int[] voti) {
// implementazione
}
완전한 예: 학교 등록부
package it.scuola.registro;
/**
* Classe principale del Registro Scolastico.
* Dimostra la struttura base di un programma Java.
*
* @author Federico Calo
* @version 1.0
*/
public class RegistroScolastico {
// Costanti della classe
public static final String NOME_SCUOLA = "Liceo Scientifico Einstein";
public static final int ANNO_SCOLASTICO = 2025;
/**
* Punto di ingresso dell'applicazione.
*
* @param args argomenti da linea di comando (non utilizzati)
*/
public static void main(String[] args) {
// Stampa intestazione
System.out.println("================================");
System.out.println(" " + NOME_SCUOLA);
System.out.println(" Anno Scolastico: " + ANNO_SCOLASTICO);
System.out.println("================================");
// Dati di esempio
String nomeStudente = "Mario Rossi";
String classe = "3A";
int[] votiMatematica = {7, 8, 6, 9, 8};
// Calcolo media
double media = calcolaMedia(votiMatematica);
// Stampa risultato
System.out.println("\nStudente: " + nomeStudente);
System.out.println("Classe: " + classe);
System.out.println("Media Matematica: " + media);
System.out.println("Esito: " + (media >= 6 ? "Promosso" : "Rimandato"));
}
/**
* Calcola la media aritmetica di un array di voti.
*
* @param voti array contenente i voti
* @return la media aritmetica dei voti
*/
public static double calcolaMedia(int[] voti) {
if (voti == null || voti.length == 0) {
return 0.0;
}
int somma = 0;
for (int voto : voti) {
somma += voto;
}
return (double) somma / voti.length;
}
}
================================
Liceo Scientifico Einstein
Anno Scolastico: 2025
================================
Studente: Mario Rossi
Classe: 3A
Media Matematica: 7.6
Esito: Promosso
결론
이 첫 번째 기사에서 우리는 Java의 기본, 즉 역사, JVM/JRE/JDK 아키텍처, 개발 환경 구성 방법 및 자바 프로그램의 구조.
에서 다음 기사 우리는 더 깊이 탐구할 것입니다 데이터 유형 원시적인 그리고 흐름 제어: 변수, 연산자, 조건 및 주기.
기억해야 할 핵심 사항
- JDK: 개발에 필요함(컴파일러 포함)
- JRE: 실행에 필요함(JVM + 라이브러리 포함)
- JVM: 바이트코드 실행, 이식성 보장
- 기본: 모든 Java 애플리케이션의 진입점
- 명명: 클래스용 PascalCase, 메소드/변수용 camelCase
- 자바독: 전문적으로 코드를 문서화하세요







