Java study 02

go·2024년 7월 15일

Java study

목록 보기
2/4

자바 코드의 구조 살펴보기

/* 클래스 블록 */
public class 클래스명 {

	/* 메서드 블록 */
    [public|private|protected] [static] (리턴자료형|void) 메서드명1(입력자료형 매개변수, ...) {
    	명령문(statement);
    	...
    }
    
    /* 메서드 블록 */
    [public|private|protected] [static] (리턴자료형|void) 메서드명2(입력자료형 매개변수, ...) {
    	명령문(statement);
    	...
    }

자바 코드의 가장 바깥쪽 영역은 클래스 블록이다. 클래스명은 사용자 마음대로 지을 수 있다. 단, 클래스명은 소스 파일의 이름(예: 클래스명.java)과 똑같이 사용해야 한다. 그리고 클래스 블록은 여러 메서드 블록을 포함한다.

  • [public|private|protected] 는 public,private, protected가 오거나 아무것도 오지 않을 수 있다는 의미이다. public,private, protected는 접근 제어자 이다.

  • [static]은 static 키워드가 올 수도 있고 오지 않을 수도 있다는 의미이다. static 이라는 키워드가 붙으면 static 메서드가된다.

  • (리턴자료형|void)는 메서드가 실행된 후 리턴되는 값의 자료형을 의미한다. 리턴값이 있을 경우에는 반드시 리턴 자료형을 표기해야 하며, 만약 리턴값이 없는 경우라면 void로 표기해야한다. 이 항목은 void 또는 리턴 자료형이 반드시 있어야만 한다.(그래서 [] 대신 ()로 표시했다.)

  • 메서드명은 자유롭게 지을 수 있다. 메서드명 뒤에 이어지는 괄호 안의 값들(입력자료형,매개변수 등)은 메서드의 입력 인자를 뜻한다. 입력 인자는 '입력자료형+매개변수명' 형태로 이루어지며 개수에 제한이 없다. 클래스 내에는 이러한 메서드를 여러 개 만들 수 있다.


속성과 생성자 이해하기

public class Sample {
	/* 속성 */
    private String message;
    
    /* 생성자 */
    public Sample(String message) {
    	this.message = message
    }
}

속성은 클래스의 상태를 나타내는 변수로, 클래스 내부에 선언된다.
생성자는 클래스 인스턴스를 생성할 때 실행되는 메서드로, 주로 속성을 초기화 하는 용도로 사용한다.


변수와 자료형

변수는 흔히 값을 넣을 수 있는 빈 상자와 같다고 표현한다. 즉, 변수는 값을 대입하여 사용할 수 있다. 그리고 값에는 어떤 형태가 정해져야 하는데, 이 형태가 바로 자료형이다.

변수 알아보기

변수 이름을 지을 때는 3가지 규칙을 따라야 한다.

  1. 변수명은 숫자로 시작할 수 없다.
  2. _ 와 $ 이외의 특수문자는 사용할 수 없다.
  3. int,class,return 등 자바의 키워드는 변수명으로 사용할 수 없다.

위의 a,b를 변수라고 한다.
이 때 변수 이름은 프로그래머가 마음대로(규칙을 따라) 지정할 수 있다. one, two 처럼..

자료형 알아보기

변수명 앞의 int, String 등은 변수의 자료형을 뜻한다.

int a의 자료형은 int 이다. 1,10,25 등의 정수만 담을 수 있다.
String b의 자료형은 String 이다. "a" , "hello" 등의 문자열만 담을 수 있다.

변수에 값 대입하기

int 자료형 변수 a에 1 이라는 값을 대입할 수 있다.
String 자료형 변수 b에 hello java 라는 값을 대입 할 수 있다.

또한 아래와 같이 변수를 선언함과 동시에 값을 대입할 수도 있다.

💡int 자료형 변수에 문자열을 대입하면 어떻게 될까?

다음과 같은 오류 메세지는 String 자료형을 int 자료형으로 변경할 수 없다는 뜻이다.

사용자 정의 자료형

사용자가 자료형을 직접 만들수도 있다. 예를들어 Animal 이라는 클래스를 만들었다고 가정해보자!

class Animal {

}

Animal 클래스를 만들었다면 다음과 같이 Animal 이란 자료형의 변수를 만들 수 있다.

Animal cat;

cat 변수의 자료형은 Animal이며, cat 변수엔 Animal 자료형에 해당하는 값만 대입이 가능하다.


클래스 이름 짓기

  1. 클래스명은 명사로 한다.
  2. 클래스명은 대문자로 시작한다.
  3. 여러 개의 단어를 조합하여 만들 경우 각 단어의 첫 번째 글자는 대문자이어야 한다. 이를 파스칼 케이스 라고 한다.
class Cookie {}
class ChocoCookie {} // 파스칼 케이스 예

메서드 이름 짓기

  1. 메서드명은 동사로 한다.
  2. 메서드명은 소문자로 시작한다.
  3. 여러 개의 단어를 조합하여 만들 경우 맨 첫 글자를 제외한 나머지 단어의 첫 글자는 대문자를 써서 구분한다. 이를 카멜 케이스 라고 한다.
run();
runFast();
getBackground(); // 카멜 케이스의 예

변수 이름 짓기

  1. 변수 이름은 짧지만 의미가 있어야 한다. 즉, 변수명만 봐도 사용한 이유를 알 수 있게 지어야 한다.
  2. 순서를 의미하고 임시로 쓰이는 정수의 변수명은 i , j , k , m , n 을 사용한다. 문자의 경우 c , d , e 등을 사용한다.
  3. 변수명에 _ , $를 쓸 수 있지만 시작 문자로 사용하는 것은 지양하자.
String userName;
float lineWidth;
int i; // 주로 반복문 에서 사용
char c; // 주로 반복문 에서 사용

📖 출처 : 점프 투 자바

profile
안녕하세요!

0개의 댓글