안녕하세요.
2024. 09. 05. 목요일 TIL입니다.
오늘은 어제에 이어 Java 문법 종합 강의 3주차 강의를 재수강하였습니다.
일단 한 번 전체적으로 듣고 다시 들어보니 이제 어느 정도 귀에 들리는 것 같지만 아직도 어려운 부분이 많네요.
한번 다 듣고나서 또 다시 들어야 할 것 같습니다.
이러다 4, 5주차 강의는 들을 수 있을지 모르겠네요;;
그래도 3주차는 다 이해하고 가는 게 맞다고 생각합니다.
데일리 루틴 코드카타
오늘은 콜라스 추측이라는 문제를 풀었습니다.
생각보다 지금까지 배운 내용을 생각하면서 풀어보니 구글링의 도움 없이도 풀 수 있었네요.
강의 수강하며 배운 것
클래스 설계
클래스를 만들기 위한 4가지 Step
1. 만들려고 하는 클래스를 선언
2. 객체가 가지고 있어야 할 필드를 정의
3. 객체를 생성하는 방식을 정의 (생성자)
4. 객체가 가지고 있어야 할 메서드를 정의
//접근제어자 클래스 클래스 이름
public(접근제어자) Class(클래스) Car(클래스 이름) (){
// 필드(속성)
String Company;
String Model;
// 생성자 : 처음 객체가 생성될 때(인스턴스화) 어떤 로직을 수행해야 하며, 어떤 값이 필수로 들어와야 하는지 정의
Public Car() {
// 기본생성자(아무것도 없는 상태) : 생략이 가능
}
// 메서드(행동)
// gaePedal
// input : kmh
// output : speed
// output name (input)
double(output) gasPedal(name) (double kmh(input)) {
speed = kmh;
return speed;
}
}
필드
필드의 객체 데이터에는 고유데이터, 상태 데이터, 객체 데이터가 있다.
-. 고유 데이터 : company, model, color, price 등의 고유의 데이터
-. 상대 테이더 : speed, gear, lights 등의 상태가 변하는 데이터
-. 객체 데이터 : tire, door, handle 등의 객체로서 존재하는 데이터
필드의 초기화 : 필드의 값을 설정하여 필드를 초기화 할 수 있다.
-. String model = "Gv80"
필드를 사용한다 : 필드의 값을 변경하거나 읽는 것을 의미
필드 사용 방법
외부 접근 방법 : Car car = new Car();
-. 위의 방법으로 객체 생성 후 도트(.) 연산자를 사용 : car.color = "blue"
메서드
메서드 선언
리턴타입 메서드명(매개변수, ...) {
실행 코드
}
* 리턴타입이 void인 경우 리턴타입이 없음
매개변수
매개변수는 메서드 호출 시 메서드로 전달하려는 값을 받기 위해 사용되는 변수
매개변수에 값을 전달하기 위해서는 순서와 타입에 맞춰 값을 넣어야 함
전달하려는 값이 없다면 생략 가능
가변 길이의 매개변수도 선언할 수 있다.
void carSpeed (double ... speeds) {}
메서드 호출 방법
메서드 호출은 메서드의 블록 내부에 작성된 코드를 실행
외부 접근방법은 필드의 외부 접근방법과 기본적으로 동일하다.
다만, 메서드가 매개변수를 가지고 있다면 호출 시 매개변수의 순서와 타입에 맞게 매개값을 입력해야한다.
메서드 오버로딩
하나의 메서드 이름으로 여러 기능을 구현하도록 하는 java의 기능
조건 : 메서드의 이름이 같고, 매개변수의 개수 or 타입 or 순서가 달라야 한다.
장점
-. 하나의 메서드 이름으로 상황별로 다른 동작을 개별로 정의할 수 있음
-. 메서드의 이름을 절약할 수 있음
기본형 & 참조형 매개변수
기본형 매개변수 : 매개변수의 타입이 기본형일 때 '값' 자체가 복사, 전달되어 변수의 원본값이 변경되지 않음
참조형 매개변수 : 매개변수의 타입이 참조형일 때 '값이 저장된 주소'가 전달되어 값을 읽는 것 뿐 아니라 수정도 가능
여기까지가 오늘 강의를 들으며 필기한 내용입니다.
과제
사실 과제는 어제 그대로입니다...
3주차 강의를 다시 들어보며 조금 더 알게 된 후 Lv2를 도전해보려 합니다.
오늘 그래도 3주차 강의를 다시 들어보며 3주차 강의의 숙제를 완료했습니다.
이 숙제도 계산기 문제였기 때문에 조금 더 배워보면 Lv2를 해볼 수 있지 않을까 생각이 드네요.
내일도 어제보다는 조금 더 나은 내가 되도록 노력하겠습니다.
'내일배움캠프 > 내일배움캠프' 카테고리의 다른 글
[내일배움캠프] 2024. 09. 09. TIL (0) | 2024.09.09 |
---|---|
[내일배움캠프] 2024. 09. 06. 트러블 슈팅 TIL (0) | 2024.09.06 |
[내일배움캠프] 2024. 09. 04. TIL (4) | 2024.09.04 |
[내일배움캠프] 2024. 09. 03. TIL (1) | 2024.09.03 |
[내일배움캠프] 2024. 09. 02. TIL (0) | 2024.09.02 |
댓글