✔️이 글은 [자바의 신 - 이상민 지음] 도서를 바탕으로 정리한 글입니다.
Programming의 P
- 프로그래밍 : 컴퓨터에게 할 일을 가르치는 것
- 프로그래밍 언어 : 컴퓨터와 사람 사이에 의사소통을 위한 언어 (ex. Java)
자바 프로그램의 메소드는 이렇게 생겼어요
- 메소드(method) : 어떤 값을 주고 결과를 넘겨주는 것
- 매개 변수(parameter) : 메소드에 전달되는 값으로 개수는 상관 없음
- 리턴 타입(return type) : 리턴되는 값의 자료형
메소드를 선언할 때는 접근제어자-리턴타입-메소드이름-매개변수 순서를 반드시 지켜야 한다.
자바의 가장 작은 단위는 클래스랍니다
메소드는 반드시 클래스(class)라는 것에 포함되어 있어야 한다.
아래와 같이 클래스는 접근제어자-class키워드-클래스이름 순서를 반드시 지켜야 한다.
클래스 내의 메소드는 여러개 선언될 수 있다.
public class DoorLockManager {
public boolean checkPassword(String password) {
//중간 생략
}
public void setPassword(String password) {
//중간 생략
}
}
클래스는 상태를 갖고 있어야 합니다
자바는 '객체지향 프로그래밍 언어(Object Oriented Programming Language)'라고 한다.
객체지향 언어의 등장으로 현실 세계를 프로그램으로 표현할 수 있게 되었는데 사물만이 아닌 추상적인 것도 클래스로 표현할 수 있다.
클래스는 상태(state)와 행동(behavior)이 있어야 한다.
- 행동은 메소드를 의미
- 상태는 클래스 안에, 메소드 밖에 정의해 클래스의 특정을 결정짓는 변수(variable)를 의미
- 반드시 상태와 행동이 있어야 하는건 아님
프로그래밍의 가장 기본은 =를 이해하는 것
결과를 저장하는 변수 = 계산;
오른쪽에 있는 계산을 한 결과값을 왼쪽에 저장하는게 프로그래밍에서의 =(등호)이다.
타입 변수명; // 변수 선언
자바에서 사용하는 기본적인 사칙연산 : +, -, *, /.
한 줄을 의미하는 세미콜론
모든 자바 코드의 한 줄이 끝날 때에는 ; 를 적어주어야만 한다.
자바에서는 보통은 Tab키를 눌러 공백을 만들지만 인덴트(indent, 코드 앞의 공백)를 별로 신경쓰지 않는다.
모든 프로그래밍 언어에는 예약어라는 것이 있어요
- 예약어(reserved word) : 예약되어 있어 쓸 수 없는 단어로 이미 class, int, return 등 자바 내에서 특정 기능을 하는 단어를 의미. 따라서 예약어는 클래스, 메소드, 변수 이름으로 사용될 수 없음
정리해봅시다
1. 클래스란 ?
클래스는 현실 세계를 표현한 객체로 자바의 가장 작은 단위이며 상태와 행동을 갖는 것을 의미한다.
- 답 : 클래스는 각각의 객체들을 나타내는 청사진과 같다. 즉, 하나의 객체를 나타내기 위한 자바에서 가장 작은 단위로 볼 수 있으며, 상태와 행동을 갖고 있는 것을 의미한다.
2. 메소드란 ?
메소드는 입력값을 넣어주면 그 결과를 넘겨주는 것으로, 클래스에서의 행동을 의미한다.
- 답 : 메소드는 클래스의 '행동'을 제공하는 역할을 수행한다.
3. 메소드의 매개변수는 어디에 적어주나요?
메소드 이름 옆 소괄호 안에 적어준다.
- 답 : 메소드의 매개변수는 메소드 선언시 사용하는 소괄호 안에 타입과 변수명 순으로 선언한다. 두 개 이상의 매개변수가 있을 경우에는 콤마로 구분한다.
4. 메소드 이름 앞에 꼭 적어줘야 하는 건 뭐죠?
리턴 타입
- 답 : 리턴 타입을 선언해줘야 한다.
5. 클래스가 갖고 있어야 한다고 한 두가지가 뭐죠?
상태와 행동
- 답 : 상태와 행동이다.
6. 메소드에서 결과를 돌려주려면 어떤 예약어를 사용해야 하나요?
return
- 답 : return이라는 예약어를 사용하여 결과를 돌려준다는 것을 명시한다.
'도서 > 자바의 신' 카테고리의 다른 글
[도서/자바의 신] #6 제가 조건을 좀 따져요 (0) | 2022.12.20 |
---|---|
[도서/자바의 신] #5 계산을 하고 싶어요 (0) | 2022.12.20 |
[도서/자바의 신] #4 정보를 어디에 넣고 싶은데 (0) | 2022.12.20 |
[도서/자바의 신] #3 자바를 제대로 알려면 객체가 무엇인지를 알아야 해요 (1) | 2022.12.20 |
[도서/자바의 신] #2 Hello God Of Java (0) | 2022.12.18 |