들여쓰기
package indent; public class HelloWorld {public static void main(String[] args) { System.out.println("Hello World"); } }
위와 같이 블럭(중괄호로 묶은 내용)문은 오른쪽으로 4칸을 들여씁니다. 보통 편집기에서 Tab키로 가능합니다.
위의 소스에서 보면, 메소드 부분 안에 또 다른 블럭이 있는데 이렇게 겹겹이 블럭문이 있어도 상위 블럭문의 시작에서 4칸 들여쓰기를 하면 됩니다.
그런데 중요한 사실은, 실제 들여쓰기를 하지 않으면 틀린 것인가 하는 것입니다.
앞서 설명했듯이 인덴트는 소스를 보기 좋게, 한 눈에 들어오도록, 그 구조를 인식하기 쉽게 하기 위한 것이므로 극단적이지만 들여쓰기나 개행(줄바꿈)이 없어도 오류가 나지 않는다는 것입니다.
package indent; public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); }}
위에 처럼 개행과 인덴트를 전혀 사용하지 않고 작성을 하더라도 정상적으로 동작을 한다는 것이죠.
다만, 문법적으로 구별하기 위한 공백은 지켜줘야 한다는 사실. 기억해야 겠네요.
그럼, 무작정 아무 때나 들여쓰느냐..... 는 아니구요. - 물론 작성자 맘대로 해도 되겠지만 - 프로그래머들의 오랜 시간동안 굳어진 약속이랄까요, 불문율 같은 게 있습니다. 정리해 보자면 다음과 같습니다.
코드 띄어쓰기 원칙
- 세미콜론, { }를 입력하고 나서는 개행.
- { }로 둘러싸인 블럭문은 이전 시작 위치보다 4칸(Tab) 들여쓰기
- } 는 왼쪽으로 4칸 당겨쓴다. (블럭문의 시작에서 여는 괄호, {가 포함된 라인의 시작점을 기준하여 4칸 당겨씁니다.)
- 들여쓰기는 Tab키로 입력.
위의 원칙을 적용해서 일반적인 코드를 작성한 것을 살펴보겠습니다.
package indent; //세미콜론으로 개행 public class HelloWorld { //블럭의 시작에서 개행 public static void main(String[] args) { //블럭의 시작. 4칸 들여쓰기. 세미콜론으로 개행 System.out.println("Hello World"); 블럭문은 4칸 들여쓰기. 세미콜론으로 개행 } // 블럭닫기는 블럭의 시작 라인보다 4칸 당겨쓰고 개행 } // 블럭닫기는 블럭의 시작 라인보다 4칸 당겨쓰고 개행
일반적으로 프로그래밍 언어 편집 프로그램(여기서는 Eclipse)는 라인의 끝에 개행을 위해 Enter키를 누르면 자동으로 들여쓰기가 됩니다.
주석문
주석문은 말그대로 프로그램에 설명을 붙이기 위해 사용합니다. 주석. 즉, 설명문인데요. 프로그램 어디든 적을 수 있으며 프로그램의 특정 코드에 대해 설명이 필요할 때, 사용 목적이나 어떤 내용이든 프로그래머의 설명을 적는 것입니다.
주석문에는 3 가지 형태가 있습니다.
여러 행의 주석
/*
* 여러 행의 주석의 형태
*/
/*로 시작해서 */로 끝나는 형태입니다. 이 형태는 보통 클래스와 메소드의 설명을 적기 위해 사용하고 보통 제목이나 타이틀을 적을 때 사용한답니다.
예)
/* 여러 행의 주석 형태 */
/*** 별이 많아도 무관합니다. ***/
/*/* 슬래시와 별이 중첩되는 형태라면 에러가 발생합니다. */*/
설명문을 작성하기 위한 주석
/*** Hello World라는 문자열을 출력하는 메소드
* 2015.09.18 작성
*/
이건... 사실 저도 아직 무슨 차이가 있는 건지는 모르겠지만, javadoc이라는 프로그램이 읽어내어 설명문을 작성할 때 이용한다는데요. 나중에 이 부분 공부를 하게 되면 후에 자세히 적어보겠습니다.
한 줄의 주석
아마도 가장 많이 사용할 형태의 주석일 것 같은데요, 고수님들이 만들어 놓은 다른 프로그램을 보아도 이 한 줄 주석이 제일 눈에 많이 띄더군요. 사용법은 간단합니다. 그냥 슬래시를 2개 연이어 적고 그 이후 주석을 적으면 됩니다.// TODO Auto-generated method stub
// 한 줄의 주석은 줄바꿈을 하면 안됩니다. 개행 이후에 있는 내용은 에러를 야기합니다.
/////// 물론 슬래시가 많아도 되구요, 뒤에 슬래시가 많이 붙어도 됩니다. 주석으로 인식하니까요 /////
//// 이렇게 줄을 바꾸면,
에러가 나겠지요;; ㅜㅜ /////