본문 바로가기
프로그래밍 언어/JAVA

Java 배울때 초반에 하는 실수

by 티옌.liy 2022. 10. 31.

무엇이든지 처음하면 얼타기 마련인데

Java를 처음 배울때도 분명 배우고 봤던건데

까먹고 실수해서 오류를 만들어내는 경우가 적지 않다.

 

우리도 처음에는 뉴비였다.

 

글을 보면 이런걸 틀리겠어 하면서

코웃음을 치지만 방심하다 기본적인 실수를 하게 된다.

 

그래도 대부분 곧바로 고쳐지는 실수이므로

뉴비의 귀여운 실수로 봐주도록 하자

 

아.. 봤던건데 뭐더라..?

 

하지만 1개월 이상 경험자가

아래의 실수를 자주 한다면

자신이 공부를 안한게 아닌지

진지하게 고민해봐야한다.

 

혹시 아직 Java를 설치도 안했다면

빨리 이클립스부터 설치하고

프로젝트를 만든뒤 이 글을 보도록 하자

 

이클립스 새 프로젝트 만들기

3줄 요약 1. File - New - Java Project 선택 2. Project Name, JER 선택, Module 해제 후 Finish 3. Package, Main Class 생성 후 코딩 진행 이클립스 2022.09 커뮤니티 버전 기준으로, 새 프로젝트를 생성할 때는 'Java Project'

tyen.tistory.com

 

 

1. Java의 모든 코드는 반드시 클래스 안에 있어야 한다.

 

이건 처음 배우는 비전공자보다

컴퓨터공학 학부생들이 많이 저지르는 실수인데

 

1학년때 문법만 맞으면 어떻게 짜든 컴파일러가 찰떡같이 알아듣는

자유도 200% C언어, C++을 했던 학부생들이

전역변수를 남발하는 버릇을 고치지 못하고 Java를 입문하면

클래스 밖에서 데이터를 생성하는 모습을 보여준다.

 

거기에는 놓을 수 없어요

처음 배울때 길들인 코딩 습관은 쉽게 바꿀 수 없기때문에

Java에서는 반드시 클래스 안에 코드를 작성하도록 하자.

 

 

2. 자바 파일과 클래스 이름은 동일해야한다.

 

Java로 소스코드를 작성하면

' .java ' 확장자 파일이 생성되는데

 

자바 파일과 최상위 클래스 이름이 동일하지 않으면

JVM가 그런 클래스 없다고 오류를 출력한다.

 

IDE/에디터에서 작성할 때는

실시간 디버그 SW의 가호로 금방 찾아낼 수 있는데

 

대부분 윈도우 폴더에서 .java 파일의 이름을 바꾸다가

이름이 불일치해서 빌드가 안되는 고통을 겪게된다.

 

이걸 모르면 원인은 그대로 두고

소스 코드만 열심히 보면서 삽질하게 되므로

 

처음부터 클래스 파일을 만들때

이름 바꿀 일 없도록 잘 지어보자

 

 

3. Main 메서드(함수)가 없으면 안된다.

 

이건 비전공자 초보자가 자주 하는 실수이다.

클래스를 만들 때  main 메서드를 생성하지 않고 만든 경우인데

 

main 메서드 없이 클래스 생성

클래스를 만들 때, 위 사진처럼 main 메서드 없이 생성하면

Java 코드에 main 메서드가 없어서

JVM이 프로그램의 시작 주소를 찾지 못한다.

 

main 메서드를 생성하시겠습니까?

때문에 자신이 프로젝트 생성 후

첫 클래스를 만든다면 반드시 main 메서드를 생성해주자

 

 

4.  main 메서드는 중복되어 있으면 안된다.

 

3번 항목과 이어지는 실수인데

 

보통 클래스 생성 연습하거나

강사가 새로운 클래스 만드는거 보고

똑같이 새 클래스 만들면서

자연스럽게 main 메서드를 생성 여부를 체크하면

 

이미 다른 클래스에 main 메서드가 있으므로

main 메서드가 중복으로 있기때문에

JVM가 시작 주소가 여러개라 혼란스럽다고 오류를 출력한다.

 

우리가 폴더에 동일한 이름을 가진 파일은 만들 수 없듯이

같은 패키지 내에서는 main 메서드를 중복으로 만들면 안된다.

 

윈도우도 같은 폴더 내 중복 파일은 허용하지 않는다.

 

그런데 이클립스나 인텔리제이 같이 IDE 환경에서 실습하면

main 메서드가 여러개라 해도

내가 띄운 편집창의 main 메서드만 실행하므로

오류가 안나니 문제가 없지 않냐고 하는 초보자가 많은데

 

실제로 취직 후 현장에서 CLI 기반 Server에서

JDK java 명령어로 구동하려 하면

 

무수한 오류의 악수 요청이 들어오면서

정신없이 명치를 맞고 오열하며 신을 찾게 되므로

 

 

그러니 처음부터 문제가 안생기도록

같은 패키지 내에서 main 메서드를 중복 생성하지 말자

 

 

대부분 이런 것은 당연히 알고 있어야 하는거 아닌가 싶지만

알고 있는 사람에게는 당연하지만

처음 하는 사람에는 당연하지 않을 수 있다.

 

그래도 대부분 2주내에 고치는 걸 보면

지나가는 성장통으로 보면 좋을것 같다.

댓글