728x90
반응형
SMALL

'변수의 이름'처럼 프로그래밍에서 사용하는 모든 이름을 '식별자(identified)'라고 하며, 식별자는 같은 영역 내에서 서로 구분(식별)될 수 있어야 한다.

 

1. 대소문자가 구분되며 길이에 제한이 없다

- True와 true는 서로 다른 것으로 간주된다.

2. 예약어를 사용해서는 안 된다.

- true는 예약어라서 사용할 수 없지만, True는 가능하다.

3. 숫자로 시작해서는 안 된다.

- top10은 허용하지만, 7up은 허용되지 않는다.

4. 특수문자는 '_'와 '$'만을 허용한다.

- $harp은 허용되지만, S#arp은 허용되지 않는다.

 

그 외에 필수적인 것은 아니지만 자바 프로그래머들에게 권장하는 규칙들은 다음과 같다.

1. 클래스 이름의 첫 글자는 항상 대문자로 한다.

- 변수와 메서드의 이름의 첫 글자는 항상 소문자로 한다.

2. 여러 단어로 이루어진 이름은 단어의 첫 글자를 대문자로 한다.

- lastIndexOf, StringBuffer

3. 상수의 이름은 모두 대문자로 한다. 여러 단어로 이루어진 경우 '_'로 구분한다.

- Pl, MAX_NUMBER

 

위의 규칙들은 반드시 지켜야 하는 것은 아니지만, 코드를 보다 이해하기 쉽게 하기 위한 자바 개발자들 사이의 암묵적인 약속이다. 

 

변수의 이름은 약간 길더라도 용도를 알기 쉽게 '의미있는 이름'으로 하는 것이 바람직하다. 변수의 선언문에 주석으로 변수에 대한 정보를 주는 것도 좋다.

int curPos = 0;		// 현재 위치(current position)
int lastPost = -1;	// 마지막 위치(last position)
728x90
반응형
LIST

'Java의 정석' 카테고리의 다른 글

상수와 리터럴  (0) 2023.09.07
변수의 타입  (0) 2023.09.07
변수의 초기화  (1) 2023.09.07
변수란  (0) 2023.09.07
주석  (0) 2023.09.07
728x90
반응형
SMALL

변수를 선언한 이후부터는 변수를 사용할 수 있으나, 그 전에 반드시 변수를 '초기화(initialization)'해야 한다.

 

메모리는 여러 프로그램이 공유하는 자원이므로 전에 다른 프로그램에 의해 저장된 '알 수 없는 값(쓰레기값, garbage value)'이 남아있을 수 있다. 

 

변수에 값을 저장할 때는 대입 연산자 '='를 이용한다. 자바에서는 오른쪽의 값을 왼쪽(변수)에 저장하라는 뜻이다. 

int a;
int b;
int x = 0;
int y = 0;

--------------------

int a, b;
int x = 0, y = 0;

위 코드는 서로 같은 의미의 다른 코드이다. 변수는 한 줄에 하나씩 선언하는 것이 보통이지만, 타입이 같은 경우 콤마 ','를 구분자로 여러 변수를 한 줄에 선언하기도 한다.

 

"변수의 초기화란, 변수를 사용하기 전에 처음으로 값을 저장하는 것"

728x90
반응형
LIST

'Java의 정석' 카테고리의 다른 글

변수의 타입  (0) 2023.09.07
변수의 명명규칙  (0) 2023.09.07
변수란  (0) 2023.09.07
주석  (0) 2023.09.07
자바 프로그램의 실행과정  (0) 2023.09.07
728x90
반응형
SMALL

중요한 프로그래밍 능력 중의 하나가 바로 '값(data)을 잘 다루는 것'이다. 값을 저장하는 공간인 변수를 잘 이해하고 활용하는 것은 그 능력을 얻기 위한 첫걸음이다.

 

프로그래밍언어에서의 변수(variable)란, 값을 저장할 수 있는 메모리상의 공간을 의미한다. 이 공간에 저장된 값은 변경될 수 있다.

 

변수를 선언하면, 메모리의 빈 공간에 '변수타입'에 알맞은 크기의 저장공간이 확보된다. 

int age; // age라는 이름의 변수를 선언

 

728x90
반응형
LIST

'Java의 정석' 카테고리의 다른 글

변수의 명명규칙  (0) 2023.09.07
변수의 초기화  (1) 2023.09.07
주석  (0) 2023.09.07
자바 프로그램의 실행과정  (0) 2023.09.07
자주 발생하는 에러와 해결방법  (0) 2023.09.07
728x90
반응형
SMALL

작성하는 프로그램의 크기가 커질수록 프로그램을 이해하고 변경하는 일이 점점 어려워진다. 심지어는 자신이 작성한 프로그램도 '내가 왜 이렇게 작성했지?'라는 의문이 들기도 하는데, 남이 작성한 코드를 이해한다는 것은 정말 쉬운 일이 아니다.

 

이러한 어려움을 덜기 위해 사용하는 것이 바로 주석이다.

 

범위주석 '/*'와 '*/'사이의 내용은 주석으로 간주된다.

한 줄 주석 '//'부터 라인 끝까지의 내용은 주석으로 간주된다.

 

다음은 주석의 몇 가지 사용 예이다.

/*
Date	: 2016. 1. 3
Source  : Hello.java
Author  : 남궁성
Email   : castello@naver.com
*/

 

컴파일러는 주석을 무시하고 건너뛰기 때문에 실제 코드만 컴파일한다. 따라서 주석이 많다고 해서 프로그램의 성능이 떨어지는 일은 없으니 안심하고 주석을 적극적으로 활용하기 바란다.

728x90
반응형
LIST

'Java의 정석' 카테고리의 다른 글

변수의 초기화  (1) 2023.09.07
변수란  (0) 2023.09.07
자바 프로그램의 실행과정  (0) 2023.09.07
자주 발생하는 에러와 해결방법  (0) 2023.09.07
자바로 프로그램 작성  (0) 2023.09.07
728x90
반응형
SMALL

콘솔에서 아래와 같이 Java 애플리케이션을 실행시켰을 때

c:\jdk1.8\work>java Hello

내부적인 진행순서는 다음과 같다.

1. 프로그램의 실행에 필요한 클래스(*.class파일)를 로드한다.

2. 클래스파일을 검사한다.(파일형식, 악성코드 체크)

3. 지정된 클래스(Hello)에서 main(String[] args)를 호출한다.

 

main메서드의 첫 줄부터 코드가 실행되기 시작하여 마지막 코드까지 모두 실행되면 프로그램이 종료되고, 프로그램에서 사용했던 자원들은 모두 반환된다.

 

만일 지정된 클래스에 main메서드가 없다면 다음과 같은 에러 메시지가 나타날 것이다.

Exception in thread "main" java.lang.NoSuchMethodError: main

 

 

 

728x90
반응형
LIST

'Java의 정석' 카테고리의 다른 글

변수란  (0) 2023.09.07
주석  (0) 2023.09.07
자주 발생하는 에러와 해결방법  (0) 2023.09.07
자바로 프로그램 작성  (0) 2023.09.07
Java API문서 설치  (0) 2023.09.07
728x90
반응형
SMALL

자바로 프로그래밍을 배워나가면서 많은 수의 크고 작은 에러들을 접하게 될 것이다. 그래서 자주 발생하는 기본적인 에러와 해결방법을 간단히 정리하였다. 에러가 발생하였을 때 참고하고, 그 외의 에러는 에러메시지의 일부를 인터넷에서 검색해서 찾아보면 해결책을 얻는데 도움이 될 것이다.

 

1. cannot find symbol 또는 cannot resovle symbol

지정된 변수나 메서드를 찾을 수 없다는 뜻으로 선언되지 않은 변수나 메서드를 사용하거나, 변수 또는 메서드의 이름을 잘못 사용한 경우에 발생한다. 자바에서는 대소문자구분을 하기 때문에 철자 뿐 만아니라 대소문자의 일치여부도 꼼꼼하게 확인해야한다.

 

2. ';' expected

세미콜론 ';'이 필요한 곳에 없다는 뜻이다. 자바의 모든 문장의 끝에는 ';'을 붙여주어야 하는데 가끔 이를 잊고 실수하기 쉽다.

 

3. Exception in thread "main" java.lang.NoSuchMethodError: main

'main 메서드를 찾을 수 없다.'는 뜻인데 실제로 클래스 내에 main 메서드가 존재하지 않거나 메서드의 선언부 'public static void main(String[] args)'에 오타가 존재하는 경우에 발생한다. 이 에러의 해결방법은 main 메서드가 클래스에 정의되어 있는지 확인하고, 정의되어 있다면 main 메서드의 선언부에 오타가 없는지 확인한다. 자바는 대소문자를 구별하므로 대소문자의 일치여부까지 정확히 확인해야 한다. 

 

4. Exception in thread "main" java.lang.NoClassDefFoundError: Hello

'Hello라는 클래스를 찾을 수 없다.'는 뜻이다. 클래스 'Hello'의 철자, 특히 대소문자를 확인해보고 이상이 없으면 클래스파일(*.class)이 생성되었는지 확인한다. 클래스 파일이 존재하는데도 메시지가 반복해서 나타난다면 클래스패스(classpath)의 설정이 바르게 되었는지 다시 확인해보자.

 

5. illegal start of expression

문장에 문법적 오류가 있다는 뜻이다. 에러가 발생하는 곳이 문법적으로 옳은지 확인하라.

 

6. class, interface, or enum expected

이 메시지의 의미는 '키워드 class나 interface 또는 enum이 없다.'이다. 보통 괄호의 개수가 일치 하지 않는 경우에 발생한다.

 

7. 에러가 발생했을 때. 어떻게 해결할 것인가에 대한 방법

1. 에러 메시지를 잘 읽고 해당 부분의 코드를 살펴본다.

이상이 없으면 해당 코드의 주위도 함께 살펴본다.

2. 그래도 이상이 없으면 에러 메시지는 잊어버리고 기본적인 부분을 재확인한다.

대부분의 에러는 사소한 것인 경우가 많다.

3. 의심이 가는 부분을 주석처리하거나 따로 떼어내서 테스트 한다.

 

 

728x90
반응형
LIST

'Java의 정석' 카테고리의 다른 글

주석  (0) 2023.09.07
자바 프로그램의 실행과정  (0) 2023.09.07
자바로 프로그램 작성  (0) 2023.09.07
Java API문서 설치  (0) 2023.09.07
자바 개발도구(JDK) 설치  (0) 2023.09.07
728x90
반응형
SMALL

자바로 프로그램을 개발하려면 JDK이외에도 편집기가 필요하다. 메모장과 같은 간단한 편집기도 있지만, 처음 자바를 배우는 사람들에게는 이클립스(eclipse)나 인텔리제이(IntelliJ)와 같이 다양하고 편리한 기능을 겸비한 고급 개발도구를 사용하는 것이 좋다.

 

class Hello {

    public static void main(String[] args) {

        System.out.println("Hello, world."); // 화면에 글자를 출력한다.

   }

}

 

이 예제를 실행하려면, 먼저 자바컴파일러(javac.exe)를 사용해서 소스파일(Hello.java)로 부터 클래스파일(Hello.class)을 생성해야한다. 그 다음에 자바 인터프리터(javac.exe)로 실행한다.

                      javac.exe                 java.exe

Hello.java 작성 -> Hello.class 생성 -> "Hello, world." 출력

                        컴파일                       실행

 

자바에서 모든 코드는 반드시 클래스 안에 존재해야 하며, 서로 관련된 코드들들 그룹으로 나누어 별도의 클래스를 구성하게 된다. 그리고 이 클래스들이 모여 하난의 Java 애플리케이션을 이룬다.

 

'public static void main(String[] args)'는 main 메서드의 선언부인데, 프로그램을 실행할 때 'java.exe'에 의해 호출될 수 있도록 미리 약속된 부분이므로 항상 똑같이 적어주어야 한다.

 

모든 클래스가 main 메서드를 가지고 있어야 하는 것은 아니지만, 하나의 Java 애플리케이션에는 main 메서드를 포함한 클래스가 반드시 하나는 있어야 한다. main 메서드는 Java 애플리케이션의 시작점이므로 main 메서드 없이는 Java 애플리케이션은 실행될 수 없기 때문이다. 작성된 Java 애플리케이션을 실행할 때는 'java.exe' 다음에 main 메서드를 포함한 클래스의 이름을 적어줘야 한다.

 

소스파일 - *.java

클래스 파일 - *.class

예시로 'Hello.java'를 컴파일하면 'Hello2.class'와 'Hello3.class' 모두 두 개의 클래스파일이 생성된다.

 

728x90
반응형
LIST

'Java의 정석' 카테고리의 다른 글

자바 프로그램의 실행과정  (0) 2023.09.07
자주 발생하는 에러와 해결방법  (0) 2023.09.07
Java API문서 설치  (0) 2023.09.07
자바 개발도구(JDK) 설치  (0) 2023.09.07
자바언어의 특징  (0) 2023.09.06
728x90
반응형
SMALL

자바에서 제공하는 클래스 라이브러리(Java API)를 잘 사용하기 위해서는 Java API 문서가 필수적이다.

이 문서에 나오는 모든 클래스를 다 공부할 필요는 없고, 자주 사용되는 것만을 공부한 다음 나머지는 영어사전처럼 필요할 때 찾아서 사용하면 된다.

 

Java API 문서는 'http://java.sun.com/'에서 다운받을 수 있다.

 

앞으로 자주 참고하게 될 문서이므로 바로가기를 만들어 놓는 것이 좋다.

728x90
반응형
LIST

'Java의 정석' 카테고리의 다른 글

자바 프로그램의 실행과정  (0) 2023.09.07
자주 발생하는 에러와 해결방법  (0) 2023.09.07
자바로 프로그램 작성  (0) 2023.09.07
자바 개발도구(JDK) 설치  (0) 2023.09.07
자바언어의 특징  (0) 2023.09.06

+ Recent posts