21.05.28
15:10 - 출석체크
15:25 - 줌 기록 시작
_1교시
15:30 - 수업시작,
클래스에는 변수, 메소드, 생성자가 들어간다.
15:44 - OOP(Object Oriented Programming): 객체지향 프로그래밍.
15:55 -객체지향의 특징 3가지 캡슐화 상속, 그리고 다형성. 캡슐화란 객체의 필드, 메소드를 하나로 묶고, 실제 구현 내용을 감추는 것이다. 필드와 메소드를 캡슐화하여 보호하는 이유는 외부의 잘못된 사용으로 인해 객체가 손상되지 않게 하려는 것이다.
_2교시
16:30 - 수업시작,
16:57 - 알고리즘은 메소드 내에서 활용된다.
자바 API(라이브러리 용도)를 잘활용하는것이 중요한 능력이다. 객체의 구조를 짜고 API를 활용하는 것이 핵심.
17:08 - 개발자가 선언한 생성자 존재 시 컴파일러는 기본 생성자를 추가하지 않는다.
_3교시
17:30 - 수업시작, 실습 시작.
_4교시
19:00 - 수업시작,
19:03 - 생성자 오버로딩
public class Car{
Car(){}
Car(String model, int speed){...}
Car(String model, int speed, String company){...}
}
외부 값이 어떤 타입으로 몇 개가 제공될 지 모르기 때문에, 생성자를 다양하게 둘 필요가 있다.
19:18 - this를 이용해서 다른 생성자를 호출 할 수 있다.
public class Car {
//필드
String company = "현대자동차";
String model;
String color;
int maxSpeed;
//생성자
Car() {
this("자가용", "white", 200);
// this.model = "자가용";
// this.color = "white";
// this.maxSpeed = 200;
}
Car(String model) {
this(model, null, 0);
// this.model = model;
// this.color = null;
// this.maxSpeed = 0;
}
Car(String model, String color) {
this(model, color, 0);
// this.model = model;
// this.color = color;
// this.maxSpeed = 0;
}
Car(String model, String color, int maxSpeed) {
this.model = model;
this.color = color;
this.maxSpeed = maxSpeed;
}
}
메소드의 구조
리턴타입 메소드이름(타입 변수){...}
예를들어,
int sum1(int[] values){
int sum = 0;
for(int i=0; i<values.length; i++){
sum += values[i];
}
return sum;
}
_5교시
20:00 - 수업시작, 메소드 학습진행.
클래스 외부에서 메소드를 사용하려면, 객체를 생성한 후 참조 변수를 이용해서 호출한다.
20:08 - 첫줄 부터 끝에까지 한번에 읽는다면 구조를 파악하기 어렵다.
필드, 생성자, 메소드를 나누고 각 덩이들이 어떤걸 뜻하는지 파악한다.
예를들어, 아래와 같은 코드가 있을때.
public class Car{
//필드
int gas;
//생성자
//메소드
void setGas(int gas){}
boolean isLeftGas(){}
void run(){}
}
필드 -> int타입의 gas라는 변수가 있다.
메소드 -> 리턴타입이 없고(void) setGas라는 메소드는 int타입 매게변수가 있다.
리턴타입이 없는(void) run이라는 메소드(함수)가 있다.
20:24 - 자습 시작
20:54 - 생성자와 매소드 구분법, 생성자는 리턴타입이 없고 클래스 이름과 같은 이름을 갖고있다.
[5월 28일 업데이트]
-6장 클래스 학습.
-다음주 화요일, 6/1 '메소드 오버로딩, 인스턴스 멤버와 this, 정적 멤버와 static'
'Study > [국비지원 일지] 2021.05.21 - 2021.12.29' 카테고리의 다른 글
[국비지원 일지]21.06.02 (0) | 2021.06.02 |
---|---|
[국비지원 일지]21.06.01 (0) | 2021.06.01 |
[국비지원 일지]21.05.27 (0) | 2021.05.27 |
[국비지원 일지]21.05.26 (0) | 2021.05.27 |
[국비지원 일지]21.05.25 (0) | 2021.05.25 |