일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 민생회복지원금
- 배당소득 분리과세
- 디버깅
- gitreset
- IntelliJ
- GPT
- gitreflog
- Spring
- gitlog
- git
- gradle
- 개발생산성
- java
- 민생회복소비쿠폰
- docker
- 버전관리
- AES256
- git초보자팁
- python
- git연재
- 주식용어
- JetBrains
- Ai
- 자동포맷팅
- scrapy
- 자바패턴
- git입문
- MYSQL
- git초보
- 개발툴팁
나만의공간
자바 초보자가 자주 하는 실수 10가지와 해결법 본문
자바(Java)는 강력한 객체지향 언어지만, 문법이 엄격하고 구조가 복잡한 만큼 입문자들이 처음 접할 때 혼란스러운 부분이 많습니다. 이 글에서는 자바를 처음 배우는 초보자들이 자주 저지르는 실수 10가지를 소개하고, 각각에 대한 원인과 해결법을 쉽게 설명합니다.
이 글을 통해 자바 공부의 시행착오를 줄이고, 한층 빠르게 성장하는 개발자가 되세요!
1. 클래스 이름과 파일 이름이 다른 경우
실수 예: 파일명은 Main.java
인데, 클래스 이름은 public class Hello {}
원인: 자바는 public class 이름과 파일명이 반드시 같아야 합니다.
해결법: 클래스 이름을 Main
으로 바꾸거나, 파일 이름을 Hello.java
로 수정하세요.
2. main 메서드 선언 오류
실수 예: public void main(String[] args)
원인: main
메서드는 반드시 static이어야 하고, 오타가 없어야 합니다.
정확한 선언:
public static void main(String[] args)
팁: IDE에서 main을 입력하고 tab 키를 누르면 자동 완성됩니다.
3. 세미콜론(;) 빠뜨리기
실수 예:
System.out.println("Hello World")
원인: 자바는 문장 끝에 세미콜론을 반드시 붙여야 합니다.
해결법: System.out.println("Hello World");
와 같이 끝에 ;
붙이기
오류 메시지: ";" expected
4. 자료형 불일치 (타입 에러)
실수 예:
int x = "10";
원인: int
타입에는 문자열을 직접 넣을 수 없습니다.
해결법: int x = Integer.parseInt("10");
또는 String s = "10";
처럼 자료형을 일치시켜야 합니다.
자주 발생하는 상황: 사용자 입력값 처리 시
5. NullPointerException (널 포인터 예외)
실수 예:
String name = null;
System.out.println(name.length());
원인: null
상태인 객체의 메서드를 호출할 경우 발생합니다.
해결법: 객체를 생성한 후 사용하거나, null 체크 코드를 추가하세요.
if (name != null) {
System.out.println(name.length());
}
6. 비교 연산자(==)와 equals() 혼용
실수 예: if (str1 == str2)
원인: ==
은 객체의 주소값을 비교하고, equals()
는 문자열의 내용을 비교합니다.
해결법: 문자열 비교 시에는 반드시 str1.equals(str2)
를 사용하세요.
7. 배열 인덱스 범위 초과
실수 예:
int[] nums = new int[3];
nums[3] = 100;
원인: 자바 배열의 인덱스는 0부터 시작하며, 길이보다 하나 작아야 합니다.
해결법: nums[0] ~ nums[2]
까지만 접근 가능
오류 메시지: ArrayIndexOutOfBoundsException
8. 객체 생성 없이 인스턴스 사용
실수 예:
Dog d;
d.bark();
원인: 객체를 선언만 하고 생성하지 않아서 null 상태입니다.
해결법: Dog d = new Dog();
로 인스턴스를 생성한 후 메서드 호출
9. Scanner 사용 후 nextLine() 오작동
실수 예:
Scanner sc = new Scanner(System.in);
int age = sc.nextInt();
String name = sc.nextLine(); // 이름 입력이 안 됨
원인: nextInt()
다음에 남은 개행 문자가 nextLine()
에 소비됩니다.
해결법: 중간에 sc.nextLine();
한 줄 추가해 버퍼를 비워주세요.
int age = sc.nextInt();
sc.nextLine(); // 버퍼 비우기
String name = sc.nextLine();
10. static 개념 이해 부족
실수 예:
public void hello() {
System.out.println("Hi");
}
public static void main(String[] args) {
hello(); // 오류 발생
}
원인: static
메서드에서 일반 인스턴스 메서드를 바로 호출할 수 없습니다.
해결법: 메서드를 static으로 선언하거나, 객체 생성 후 호출하세요.
MyClass mc = new MyClass();
mc.hello();
자바 실수는 자연스러운 성장의 과정입니다
자바를 배우는 과정에서 실수를 반복하는 건 매우 자연스러운 일입니다. 중요한 건 실수를 빨리 인식하고, 원인을 이해하며, 반복하지 않는 것입니다. 위에서 소개한 10가지는 자바 입문자라면 한 번쯤 꼭 겪게 되는 실수입니다.
이 글을 북마크 해두고, 코딩 중에 막혔을 때마다 다시 참고해 보세요. 더 나은 개발자로 성장하는 데 큰 도움이 될 것입니다.
'IT > JAVA' 카테고리의 다른 글
ImageMagick을 활용한 이미지 리사이징 방법 (0) | 2025.07.19 |
---|---|
자바 입문자를 위한 객체지향 개념 정리 – OOP 완전 입문 (2) | 2025.06.21 |
자바로 크롤러 만들기 – Jsoup 사용법 완전 정리 (1) | 2025.06.21 |
Spring Security로 로그인 기능 구현하기 (JWT 포함) (1) | 2025.06.20 |
🚀 Spring Boot로 REST API 만들기 완전 정복 (1) | 2025.06.17 |