| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 개발자팁
- 코딩테스트
- Java
- 알고리즘
- 자바
- 개발공부
- 자바공부
- 자바개발
- 프로그래밍기초
- 코딩테스트준비
- 클린코드
- 예외처리
- 파이썬
- 코딩테스트팁
- HashMap
- 가비지컬렉션
- 메모리관리
- 객체지향
- 멀티스레드
- 자바기초
- 자바프로그래밍
- 프로그래머스
- 백준
- 정렬
- 알고리즘공부
- 코딩인터뷰
- JVM
- 자료구조
- 코딩공부
- 개발자취업
- Today
- Total
코드 한 줄의 기록
Java 식별자, 키워드, 주석, 코드 스타일 기본 규칙 완벽 가이드 본문
Java를 배우면서 꼭 알아야 할 기본 규칙들을 체계적으로 정리해보았습니다. 식별자 작성 규칙부터 키워드, 주석 작성법, 그리고 코딩 스타일까지 - 이 모든 것들이 좋은 Java 코드를 작성하는 기초가 됩니다.
식별자의 핵심 규칙
식별자는 Java에서 클래스, 변수, 메소드 등을 구분하는 "이름표" 역할을 합니다. 가장 중요한 규칙들을 정리하면
- 대문자, 소문자, 숫자, 밑줄(_), 달러($) 기호만 사용 가능
- 첫 글자는 반드시 문자로 시작 (숫자 시작 불가)
- 공백 사용 불가, 대소문자 구분
- 예약어와 리터럴(
true,false,null) 사용 불가
Java의 명명 관례를 따르면 더욱 전문적인 코드를 작성할 수 있습니다. 클래스명은 파스칼 케이스(PascalCase), 변수와 메소드명은 카멜 케이스(camelCase), 상수는 모든 글자를 대문자로 작성하는 것이 표준입니다.
Java 키워드 완전 분류
Java에는 68개의 예약어가 있으며, 이들은 크게 다음과 같이 분류됩니다.
데이터 타입 관련 (8개)
boolean, byte, char, short, int, long, float, double
클래스와 객체 관련
class, interface, extends, implements, this, super, new, abstract
제어문 관련
if, else, switch, case, default, for, while, do, break, continue
예외 처리 관련
try, catch, finally, throw, throws
접근 제한자
public, private, protected
이러한 키워드들은 모두 소문자로 작성되며, 식별자로 사용할 수 없습니다.
주석의 세 가지 유형
Java에서는 세 가지 타입의 주석을 제공합니다.
한 줄 주석 (//)
int age = 25; // 사용자의 나이를 저장하는 변수
// 이 메소드는 두 수를 더하는 기능을 합니다
public int add(int a, int b) {
return a + b;
}
// TODO: 나중에 검증 로직 추가할 것
// FIXME: 이 부분에서 메모리 누수 발생 가능
여러 줄 주석 (/* */)
/*
* 이 클래스는 사용자 정보를 관리하는 클래스입니다.
* 사용자의 기본 정보(이름, 나이, 이메일)를 저장하고
* 관련된 비즈니스 로직을 처리합니다.
*
* 작성자: 개발자
* 작성일: 2025-09-20
*/
public class UserManager {
/*
* 임시로 주석 처리된 코드
* 나중에 리팩토링할 예정
*
public void oldMethod() {
// 이전 로직
}
*/
}
문서화 주석 (/** */)
/**
* 사용자 정보를 처리하는 유틸리티 클래스입니다.
*
* @author 개발자명
* @version 1.0
* @since 2025-09-20
*/
public class UserUtils {
/**
* 두 정수를 더하여 결과를 반환합니다.
*
* @param a 첫 번째 정수
* @param b 두 번째 정수
* @return 두 정수의 합
* @throws IllegalArgumentException 입력값이 음수인 경우
*
* @see #subtract(int, int)
* @deprecated 대신 Calculator.add()를 사용하세요
*/
public int add(int a, int b) {
if (a < 0 || b < 0) {
throw new IllegalArgumentException("음수는 허용되지 않습니다");
}
return a + b;
}
}
주석 작성 시에는 "무엇을" 하는지보다 "왜" 하는지를 설명하는 것이 중요합니다.
효과적인 코드 스타일 가이드
좋은 코드는 단순히 작동하는 것을 넘어서 읽기 쉽고 유지보수하기 좋아야 합니다. 핵심 원칙들을 살펴보면
일관된 들여쓰기
// 올바른 들여쓰기 (4칸 또는 탭)
public class Example {
private String name;
public void method() {
if (condition) {
for (int i = 0; i < 10; i++) {
System.out.println("Hello");
}
}
}
}
// 연산자 주변의 공백
int result = (a + b) * c;
boolean isValid = (age >= 18) && (name != null);
// 콤마 뒤의 공백
method(param1, param2, param3);
중괄호 사용
// K&R 스타일 (권장)
public class MyClass {
public void method() {
if (condition) {
// 실행할 코드
} else {
// 다른 코드
}
}
}
// 한 줄이어도 중괄호 사용 권장
if (condition) {
doSomething();
}
// 피해야 할 스타일
if (condition)
doSomething(); // 중괄호 없음 (권장하지 않음)
메소드 설계
// 메소드는 한 가지 일만 하도록
public class UserValidator {
// 좋은 예: 각각의 역할이 명확
public boolean isValidEmail(String email) {
return email != null && email.contains("@");
}
public boolean isValidAge(int age) {
return age >= 0 && age <= 150;
}
// 나쁜 예: 여러 가지 일을 한 번에
public boolean validateUserData(String email, int age, String name) {
// 이메일, 나이, 이름 검증을 모두 한 메소드에서 처리 (비권장)
return isValidEmail(email) && isValidAge(age) && isValidName(name);
}
private boolean isValidName(String name) {
return name != null && !name.trim().isEmpty();
}
}
패키지와 import 정리
// 패키지 선언
package com.company.project.util;
// import 구문 정리 (그룹별로 구분)
// 1. Java 표준 라이브러리
import java.util.List;
import java.util.ArrayList;
import java.io.IOException;
// 2. 써드파티 라이브러리
import org.springframework.stereotype.Component;
// 3. 프로젝트 내부 패키지
import com.company.project.model.User;
import com.company.project.service.UserService;
@Component
public class UserUtils {
// 클래스 내용
}
실무 적용을 위한 팁
좋은 코드 작성을 위한 체크리스트
- 의미 있는 이름 사용
- - 변수명, 메소드명이 그 목적을 명확히 표현하는가?
- - 줄임말보다는 완전한 단어 사용
- 주석의 적절한 사용
- - "무엇을" 하는지보다 "왜" 하는지 설명
- - 코드 자체로 설명이 되는 부분은 주석 생략
- 일관된 스타일 유지
- - 팀 내에서 합의된 코딩 컨벤션 준수
- - IDE의 자동 포맷팅 기능 활용
IDE에서 코딩 컨벤션 적용하기
- IntelliJ IDEA: Ctrl + Alt + L (Windows/Linux), Cmd + Option + L (Mac)
- Eclipse: Ctrl + Shift + F
- VS Code: Shift + Alt + F (Windows/Linux), Shift + Option + F (Mac)
실무에서 자주 하는 실수들
// 피해야 할 패턴들
// 1. 의미 없는 변수명
String s = getUserName(); // 나쁜 예
String userName = getUserName(); // 좋은 예
// 2. 매직 넘버 사용
if (age > 18) { } // 나쁜 예
if (age > ADULT_AGE) { } // 좋은 예
// 3. 너무 긴 메소드
public void processEverything() {
// 100줄이 넘는 코드... (리팩토링 필요)
}
// 4. 예외 무시
try {
riskyOperation();
} catch (Exception e) {
// 빈 catch 블록 (위험!)
}
이번 글에서는 Java의 기본이 되는 식별자, 키워드, 주석, 그리고 코딩 스타일에 대해 자세히 알아봤습니다. 이런 기본 규칙들을 잘 지키면 다른 개발자들과 협업할 때도 훨씬 수월하고, 나중에 내 코드를 다시 볼 때도 이해하기 쉬워집니다.
처음에는 모든 규칙을 다 기억하기 어려울 수 있지만, 꾸준히 연습하다 보면 자연스럽게 손에 익게 됩니다. 무엇보다 중요한 건 일관성을 유지하는 것이에요. 팀에서 정한 컨벤션이 있다면 그것을 따르고, 개인 프로젝트라면 한 번 정한 스타일을 끝까지 유지하는 게 좋습니다.
코딩은 혼자 하는 것이 아니라 다른 사람과 함께 하는 일이라는 걸 항상 기억하면서, 읽기 좋고 이해하기 쉬운 코드를 작성하도록 노력해봅시다!
자바 프로젝트 구조 완벽 가이드: 소스에서 바이너리까지 빌드 흐름 쉽게 이해하기
자바(Java)로 개발할 때 가장 먼저 마주하게 되는 과제는 프로젝트 구조와 소스 → 컴파일 → 실행의 흐름을 파악하는 것입니다. IDE를 사용하면 한 번에 처리되지만, 그 내부에서는 어떤 과정이
byteandbit.tistory.com
'JAVA' 카테고리의 다른 글
| Java 기본 자료형과 래퍼 타입: 박싱/언박싱으로 알아보는 핵심 개념과 실무 활용법 (0) | 2025.09.23 |
|---|---|
| Java 완전정복! 변수 스코프, final, 상수 패턴 한 번에 이해하기 (0) | 2025.09.22 |
| 자바 프로젝트 구조 완벽 가이드: 소스에서 바이너리까지 빌드 흐름 쉽게 이해하기 (0) | 2025.09.20 |
| Java 컴파일과 실행 과정 완벽 가이드: JVM 작동 원리 이해하기 (0) | 2025.09.19 |
| Java 개발자를 위한 완벽한 IDE 선택 가이드: IntelliJ, Eclipse, VS Code 비교와 실전 활용법 (0) | 2025.09.17 |