문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
프로그램:java:syntax [2022/01/01 00:08] clayeryan@gmail.com [클래스 변수와 클래스 메서드는 클래스 이름을 사용하여 호출] |
프로그램:java:syntax [2023/07/13 17:29] (현재) clayeryan@gmail.com ↷ 문서가 programmer:java:syntax에서 프로그램:java:syntax(으)로 이동되었습니다 |
||
---|---|---|---|
줄 133: | 줄 133: | ||
파일은 빈 줄이나 다른 구역임을 나타내주는 주석으로 나누어지는 여러 구역(section)들로 구성되어 있다.\\ | 파일은 빈 줄이나 다른 구역임을 나타내주는 주석으로 나누어지는 여러 구역(section)들로 구성되어 있다.\\ | ||
2,000 라인을 넘는 파일은 이해하기가 쉽지 않기 때문에 될 수 있으면 피해야 한다.\\ | 2,000 라인을 넘는 파일은 이해하기가 쉽지 않기 때문에 될 수 있으면 피해야 한다.\\ | ||
- | 적절하게 구성된 자바 프로그램의 예제는 아래 | + | 적절하게 구성된 자바 프로그램의 예제는 아래 |
=== 자바 소스 파일 === | === 자바 소스 파일 === | ||
줄 175: | 줄 175: | ||
^순서^클래스/ | ^순서^클래스/ | ||
- | |1|문서화 주석|(/ | + | |1|문서화 주석|(/ |
|2|클래스/ | |2|클래스/ | ||
|3|구현 주석|(/* ... */) 이 주석은 클래스/ | |3|구현 주석|(/* ... */) 이 주석은 클래스/ | ||
줄 284: | 줄 284: | ||
*문서화 주석 | *문서화 주석 | ||
- | 구현 주석은 /* ... */ 과 < | + | 구현 주석은 /* ... */ 과 < |
문서화 주석은 단지 자바에서만 사용되며, | 문서화 주석은 단지 자바에서만 사용되며, | ||
줄 299: | 줄 299: | ||
프로그램은 다음과 같은 4가지 형식의 구현 주석을 포함할 수 있다. | 프로그램은 다음과 같은 4가지 형식의 구현 주석을 포함할 수 있다. | ||
- | - **블록(Block) 주석** | + | - 블록(Block) 주석 |
- | - ** 한 줄(Single-Line) 주석** | + | - 한 줄(Single-Line) 주석 |
- | - **꼬리(Trailing) 주석** | + | - 꼬리(Trailing) 주석 |
- | - **줄 끝(End-Of-Line) 주석** | + | - 줄 끝(End-Of-Line) 주석 |
==블록(Block) 주석== | ==블록(Block) 주석== | ||
줄 370: | 줄 370: | ||
</ | </ | ||
=== 문서화(Documentation) 주석 === | === 문서화(Documentation) 주석 === | ||
- | * 여기에 나오는 주석들은 아래 | + | * 여기에 나오는 주석들은 아래 |
문서화 주석은 다음 5가지를 설명한다. | 문서화 주석은 다음 5가지를 설명한다. | ||
줄 777: | 줄 777: | ||
=== 숫자는 바로 사용하지 않고 선언해서 변수 이름으로 접근 === | === 숫자는 바로 사용하지 않고 선언해서 변수 이름으로 접근 === | ||
+ | |||
+ | 숫자 상수는 카운트 값으로 for 루프에 나타나는 -1, 0, 1을 제외하고는 숫자 자체를 코드에 사용하지 않는다. | ||
+ | |||
=== 변수에 값을 할당할 때 주의할 것들 === | === 변수에 값을 할당할 때 주의할 것들 === | ||
+ | 하나의 문(statement)에서 같은 값을 여러 개의 변수들에 할당하지 말자(이렇게 하면 읽기가 어렵게 된다) | ||
+ | |||
+ | <code java> | ||
+ | fooBar.fChar = barFoo.lchar = ' | ||
+ | </ | ||
+ | |||
+ | 비교 연산자(equality operator: ==)와 혼동되기 쉬운 곳에 할당 연산자(assignment operator: =)를 사용하지 말자 | ||
+ | |||
+ | <code java> | ||
+ | // 이렇게 사용하지 말자 (자바가 허용하지 않음) | ||
+ | if (c++ = d++) { | ||
+ | ... | ||
+ | } | ||
+ | |||
+ | // 다음과 같이 써야 한다 | ||
+ | if ((c++ = d++) != 0) { | ||
+ | ... | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | 실행시 성능 향상을 위해서 할당문(assignment statement)안에 또 다른 할당문을 사용하지 말자 | ||
+ | |||
+ | <code java> | ||
+ | // 이렇게 사용하지 말자 | ||
+ | d = (a = b + c) + r; | ||
+ | |||
+ | // 다음과 같이 써야 한다 | ||
+ | a = b + c; | ||
+ | d = a + r; | ||
+ | </ | ||
=== 그 외 신경써야 할 것들 === | === 그 외 신경써야 할 것들 === | ||
== 괄호 == | == 괄호 == | ||
+ | 연산자 우선순위 문제를 피하기 위해서 복합 연산자를 포함하는 경우에는 자유롭게 괄호를 사용하는 것이 좋은 생각이다(작성자는 연산자 우선 순위를 확실하게 알고 있다고 할지라도, | ||
+ | |||
+ | <code java> | ||
+ | if (a == b && c == d) // 이렇게 사용하지 말자 | ||
+ | if ((a == b) && (c == d)) // 이렇게 사용하자 | ||
+ | </ | ||
== 반환 값 == | == 반환 값 == | ||
+ | |||
+ | 프로그램의 구조와 목적이 일치해야 한다. | ||
+ | |||
+ | <code java> | ||
+ | // 이렇게 사용하지 말자 | ||
+ | if (booleanExpression) { | ||
+ | return true; | ||
+ | } else { | ||
+ | return false; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | <code java> | ||
+ | // 다음과 같이 써야 한다 | ||
+ | return booleanExpression; | ||
+ | // 이렇게 사용하지 말자 | ||
+ | if (condition) { | ||
+ | return x; | ||
+ | } | ||
+ | return y; | ||
+ | </ | ||
+ | |||
+ | <code java> | ||
+ | // 다음과 같이 써야 한다 | ||
+ | return (condition ? x : y); | ||
+ | </ | ||
== 조건 연산자 '?' | == 조건 연산자 '?' | ||
삼항 연산자(ternary operator - ?:) 에서 ? 이전에 이항 연산자(binary operator)를 포함하는 식(expression)이 있는 경우에는, | 삼항 연산자(ternary operator - ?:) 에서 ? 이전에 이항 연산자(binary operator)를 포함하는 식(expression)이 있는 경우에는, | ||
+ | |||
< | < | ||