취준

1달 역량 평가_0414 데일리 리포트

luminous_dev 2025. 4. 15. 07:36

아래 공부한 내용을 마크다운 문법으로 작성했습니다.

제출한 데일리 리포트 기록 용으로 첨부합니다~


**오늘 날짜 :** 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();
```