1달 역량 평가_0414 데일리 리포트
아래 공부한 내용을 마크다운 문법으로 작성했습니다.
제출한 데일리 리포트 기록 용으로 첨부합니다~
**오늘 날짜 :** 2025-04-14
**진도 정리 :**
오늘은 stage1의 step3까지 1회독 했습니다.
**오늘 공부한 토픽 1가지:**
오늘 공부한 대표 개념은 생성자입니다.
**오늘 공부한 내용 정리:**
**<생성자>**
생성자는 객체 생성 직후 <span style="color:red">객체를 초기화하기 위한</span> 특별한 메서드입니다.
생성자를 사용할 때 꼭 알아야할 **규칙**을 정리해보았습니다.
1. 생성자 이름은 **클래스 이름** 과 같아야 합니다.
2. 생성자 이름의 첫 글자는 **대문자**로 시작해야 합니다.
3. 생성자는 **반환 타입**이 없습니다.
**예시**
```java
//생성자
public TravelClub(String name, String intro){
this.name = name;
this.intro = intro;
}
```
**생성자 호출방법**은 다음과 같습니다.
```java
new 생성자이름(생성자에 맞는 인수 목록);
```
이때 생성자 호출 시 ()의 의미는
<span style="color:red">객체를 생성하면서 동시에 생성자를 호출</span>한다는 의미입니다.
**기본 생성자**
- 기본 생성자는 매개변수가 없고 몸체가 비어있는 생성자입니다
- 사용자가 아무 생성자도 작성하지 않은 경우, 자바의 컴파일러가 자동으로 기본 생성자를 추가해줍니다.
- 만약 생성자가 하나라도 있을 경우 기본 생성자는 자동으로 추가되지 않습니다.
```java
//기본 생성자
public TravelClub(){
}
```
**생성자 오버로딩**
생성자는 매개변수의 수나 타입이 다른 생성자를 오버로딩할 수 있습니다.
생성자 오버로딩의 목적은 <span style="color:red">다양한 형태로 오버로딩을 시켜주고 싶어서</span>입니다.
**예시**
```java
//기본 생성자
public TravelClub(){
}
//생성자
public TravelClub(String name, String intro){
this.name = name;
this.intro = intro;
}
```
**기타) 추가로 궁금해서 공부한 내용**
오늘 코드를 작성하면서 Scanner에 대해 궁금해서 추가로 공부하였습니다.
**Q. (stage1 - step 2) Scanner**
**Scanner**
: 사용자에게 데이터를 입력받는 클래스입니다.
: java.util 패키지 내에 존재합니다.
: 기본 데이터 타입(int, double 등)을 입력 받을 수 있습니다.
**Scanner 사용 방법**
1. import 하기
```java
import java.util.Scanner;
```
2. Scanner 클래스 객체 생성
```java
Scanner sc = new Scanner(System.in);
```
여기서 System.in은 화면에서 입력을 받겠다는 의미입니다.
3. Scanner 객체 사용방법입니다
int 형일 경우
→ nextInt()를 사용하여 사용자에게 int(정수) 타입의 변수를 입력받을 수 있습니다.
```java
int value = sc.nextInt();
```
String 형일 경우
→nextLine()으로 Enter 단위로 사용자에게 값을 입력 받을 수 있고
→next()로 공백 단위로 사용자에게 값을 입력받을 수 있습니다.
```java
//만약 A B를 입력하면?
//next(); : A가 입력됨
String name1 = sc.next();
//nextLine(); : A B가 입력됨
String name2 = sc.nextLine();
```
4. Scanner은 사용하고 닫아줘야 합니다.
```java
Scanner sc = new Scanner(System.in);
//(코드)
sc.close();
```