"저는 주로 자바를 사용해서 개발해요." 나는 이 말을 할 자격이 있는 걸까?
내가 어디까지 알고, 어디부터 모르는지 잘 파악이 되지 않는다. 이걸 과연 자바를 주로 사용하는 사람이라고 할 수 있는가?

Java는 모든 코드가 클래스 안에 존재해야 한다. C나 Python처럼 함수를 클래스 밖에 둘 수 없다.
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!);
}
}
public class HelloWorld
public -> 어디서나 이 클래스에 접근 가능class -> 클래스를 선언하는 키워드HelloWorld -> 클래스 이름. 파일명과 반드시 일치해야 함(HelloWorld.java)public static void main(String[] args)
public -> JVM이 외부에서 호출할 수 있도록
static -> 객체 생성 없이 JVM이 바로 호출 가능하도록
void -> 반환값 없음
main -> 프로그램의 진입점(Entry Point). JVM이 여기서부터 실행
String[] args -> 커맨드라인 인자를 받는 배열
System.out.println(...)
System -> 자바 표준 라이브러리의 클래스
out -> 표준 출력 스트림 객체
println -> 출력 후 줄바꿈. print는 줄바꿈 없음
; 모든 문장 끝에 세미콜론이 필수다.int x = 10; // ✅
int y = 20 // ❌ 컴파일 에러
{}로 블록 구분public class Example { // 클래스 블록 시작
public static void main(String[] args) { // 메서드 블록 시작
// 코드
} // 메서드 블록 끝
} // 클래스 블록 끝
int number = 1;
int Number = 2; // number와 Number는 완전히 다른 변수!
// 한 줄 주석
/*
여러 줄
주석
*/
/**
* Javadoc 주석 (문서 자동 생성용)
* @param args 커맨드라인 인자
*/
| 대상 | 규칙 | 예시 |
|---|---|---|
| 클래스 | PascalCase | MyClass, HelloWorld |
| 메서드/변수 | camelCase | myMethod, userName |
| 상수 | UPPER_SNAKE_CASE | MAX_SIZE, PI |
| 패키지 | 모두 소문자 | com.example.app |
.java 파일 .class 파일 실행
(소스코드) -> 컴파일 -> (바이트코드) -> JVM -> 결과
javac java
Python은 인터프리터가 소스를 바로 실행하지만, Java는 컴파일 -> 바이트코드 -> JVM 실행 2단계를 거친다. 덕분에 어떤 OS에서도 동작한다.
public class PrintExample {
public static void main(String[] args) {
System.out.println("줄바꿈 포함 출력"); // 출력 후 줄바꿈
System.out.print("줄바꿈 없음 "); // 줄바꿈 없이 출력
System.out.print("이어서 출력\n"); // \n으로 직접 줄바꿈
System.out.printf("포맷: %s는 %d살\n", "철수", 20); // 형식 지정 출력
}
}
// ----- 출력문 -----
줄바꿈 포함 출력
줄바꿈 없음 이어서 출력
포맷: 철수는 20살
// ----- 출력문 -----
// 파일명: Calculator.java
public class Calculator { // 클래스명 = 파일명
// 상수 선언
static final double PI = 3.14159;
// main 메서드: 프로그램 시작점
public static void main(String[] args) {
// 변수 선언 및 출력
int radius = 5;
double area = PI * radius * radius;
System.out.println("반지름: " + radius);
System.out.printf("넓이: %.2f%n", area); // 소수점 2자리
}
}
// ----- 출력문 -----
반지름: 5
넓이: 78.54
// ----- 출력문 -----
요즘 들어서 "나는 자바를 잘 알고 있는걸까?"하고 스스로에게 계속 질문을 많이 했었다. 이 질문을 스스로에게 한다는 것은 곧 자바에 자신이 없는 것이고, 자바를 깊이 있게 모른다는 것이다. 이제는 깔끔하게 인정하고 바닥부터 다시 올라가 보겠다.