Java란?
Java는 1995년 Sun Microsystems에서 처음 발표된 프로그래밍 언어로, 현재는 Oracle이 관리하고 있어. 플랫폼 독립성, 객체지향, 안전성, 풍부한 라이브러리를 갖춘 강력한 언어야. Java로 만든 프로그램은 다양한 운영 체제에서 실행될 수 있기 때문에, 기업용 시스템, 웹 서버, 모바일 앱, 데스크탑 프로그램 등에서 널리 사용돼.
Java의 주요 특징
1. 플랫폼 독립성
• 한 번 작성하면 어디서든 실행할 수 있음 (Write Once, Run Anywhere)
• 자바 컴파일러가 바이트코드(.class)를 생성하고, **JVM(Java Virtual Machine)**이 이 코드를 실행함
2. 객체지향 언어
• 클래스와 객체 개념을 중심으로 설계
• 캡슐화, 상속, 다형성 같은 OOP 개념을 충실히 따름
3. 강력한 표준 라이브러리
• 데이터 구조, 파일 입출력, 네트워킹, GUI, 멀티스레딩 등 다양한 기능 제공
4. 메모리 관리
• 가비지 컬렉션(Garbage Collection)을 통해 메모리를 자동으로 관리
5. 멀티스레딩 지원
• 동시에 여러 작업을 수행할 수 있는 병렬 처리 기능 지원
Java 프로그램 구조
public class HelloWorld {
public static void main(String[] args) {
System.out.println("안녕하세요, Java!");
}
}
• public class: 클래스를 선언하는 키워드
• main 메서드: Java 프로그램이 실행될 때 가장 먼저 실행되는 부분
• System.out.println: 콘솔에 출력
주요 개념
1. 클래스와 객체
public class Person {
String name;
int age;
void introduce() {
System.out.println("제 이름은 " + name + "이고, 나이는 " + age + "살입니다.");
}
}
public class Main {
public static void main(String[] args) {
Person p = new Person();
p.name = "철수";
p.age = 30;
p.introduce();
}
}
2. 조건문과 반복문
// 조건문
if (age >= 18) {
System.out.println("성인입니다.");
} else {
System.out.println("미성년자입니다.");
}
// 반복문
for (int i = 0; i < 5; i++) {
System.out.println(i);
}
3. 상속
class Animal {
void sound() {
System.out.println("동물 소리");
}
}
class Dog extends Animal {
void sound() {
System.out.println("멍멍");
}
}
Java 개발 도구
• JDK (Java Development Kit): Java 컴파일러와 라이브러리가 포함된 개발 도구
• JRE (Java Runtime Environment): Java 프로그램 실행을 위한 환경
• IDE:
• Eclipse
• IntelliJ IDEA
• VS Code + Java 확장
Java의 사용 분야
분야 |
설명 |
---|---|
웹 애플리케이션 |
Spring, JSP, Servlet 등을 활용한 서버 개발 |
모바일 앱 |
Android 앱 개발 (Android Studio에서 Java 사용 가능) |
데스크탑 앱 |
Swing, JavaFX 등으로 GUI 프로그램 개발 |
엔터프라이즈 시스템 |
은행, 정부, 대기업의 백엔드 시스템 등에서 광범위하게 사용 |
게임 개발 |
간단한 게임부터 3D 엔진 연동까지 가능 |
대표 프레임워크
• Spring Framework: 엔터프라이즈 웹 개발의 표준
• Spring Boot: 설정을 간소화한 Spring 기반 프레임워크
• Hibernate: ORM(Object-Relational Mapping) 도구
Java를 배우기 좋은 이유
• 문법이 비교적 엄격해서 프로그래밍 기초를 튼튼하게 다질 수 있음
• 다양한 실무 사례와 자료가 많음
• 대형 프로젝트나 기업 환경에서 여전히 많이 사용됨
• Android 앱 개발 등에서도 활용 가능
관심 있다면 아래 주제 중 하나를 이어서 설명해줄 수 있어:
• Java로 콘솔 기반 프로젝트 만들기
• Spring Boot 웹 애플리케이션 구조
• Java와 데이터베이스 연동 (JDBC, JPA)
• Java로 REST API 서버 만들기