일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 코딩테스트
- kh정보교육원 후기
- ORA-91917
- 비전공 국비학원
- SQLD교재추천
- 비전공개발자취업
- oracle error
- 국비학원 후기
- java문법
- 국비학원
- java17
- 비전공 개발자
- 최신java
- 예제
- containsValue
- ClassNotFoundException
- 개발자면접질문
- containsKey
- sql developer logon denied
- 국비학원 추천
- 소수점출력
- Jpa기초
- 비전공개발자
- it국비학원 후기
- ip란
- 큐
- 파이썬
- 스택
- 그리디알고리즘
- spring mvc 기초
- Today
- Total
Developer J
kh정보교육원 16, 17, 18, 19일차 후기 본문
16일차
과제가 있는 날을 과제를 리뷰하는데 2시간 정도 소요되는 것 같다. 자신의 코드와 강사님의 코드를 비교하면서 개선점을 찾을 수 있다.
private static float incentive= (float)0.5;
private static float incentive= 0.5f; //이렇게 표현이 가능하다.
다른 표현 방법을 깨닫기도 한다.
이번 과제에서 다운 캐스팅 부분에 대한 이해가 부족하다는 것을 알게되었다.
//class Rectangle extends IShape;
IShape[] iarr = new IShape[5];
iarr[0]= new Circle(3.5);
iarr[1]= new Rectangle(4.5, 5.5);
iarr[2]= new Triangle(5,10);
iarr[3]= new Triangle(10,10);
iarr[4]= new Triangle(8,10);
for(int i= 0 ; i<iarr.length;i++) {
System.out.println("면적 : " +iarr[i].area());
System.out.println("원둘레 : " + iarr[i].perimeter());
if(i==2 || i==3 || i==4) {
//a instanceof A 즉, a는 A로 형변환이 가능한가?를 묻고 있다.
if(iarr[i] instanceof Triangle){
System.out.println("도형의 빗변: "+((Triangle)iarr[i].getHypotenuse());
iarr을 다운캐스팅 해서 triangle안을 들여다 본다.
System.out.println("빗변 길이 : " + iarr[i].getHypotenuse());
}
}
위 코드와 관련된 다운캐스팅은 ((Triangle)iarr[i].getHypotenuse()); 이 부분이다. iarr[i]이 Triangle을 감싸고 업캐스팅이 되어있다. 그래서 그 안의 Triangle의 정보를 읽기 위해서는 다운캐스팅이 필요하다. 그래서 위와 같은 방법으로 다운캐스팅을 진행한다.
instanceof는 개체의 타입을 확인할때 사용하고 주로 상속 관계에서 부모자식관의 관계를 파악할 수 있다.
class B extends A{
A a = new A();
B b = new B();
//이런 상황이라고 가정하면
//객체 a 는 A로 형변환이 가능하다.
System.out.print(a instanceof b); //false 부모가 자식이 될 수 없다.
System.out.print(b instanceof a); //true
}
17일 차
예외 처리에 대해서 학습하였다. 기존에는 런타임 오류가 발생하면 처음 발생한 오류 발생 이후로는 메소드가 실행이 되지 않아 결과를 알 수 없었다. 하지만 예외 처리를 해주면 예외(우리가 흔히 오류라 부르는 것)가 발생한 이후에 부분을 실행해 볼 수 있다. 콘솔창에 뜨는 에러 문구를 원하는 형식으로 출력할 수도 있다. 에러의 책임을 throws를 이용해 상위로 전가 시킬 수도 있다.
IO 입출력에 대해서도 배웠다. 입출력 장치에서 데이터를 읽고 쓰기 위해서 자바에서 제공하는 클래스이다. 외부의 txt파일에 정보를 입력학거나 정보를 읽어와서 콘솔창에 실행 할수 있게 해주는 클래스이다. 기존에는 java파일을 다루었다면 IO 입출력을 통해 외부에 데이터를 입력하고 가져올 수 있게 된다.
18일 차
배열의 단점을 해결한 컬렉션에 대해 배웠다. 컬렉션은 저장하는 크기의 제약이 없고, 추가,삭제, 정렬 등의 기능 처리가 간단하다. 또한 여러 타입의 데이터를 저장할 수 있다. 배열과 2차배열을 열심히 공부하던 사람에게 충격적인 이야기를 들을 수 있는 날이었다. 사실, 배열을 많이 쓰지 않는다고 한다... 지금의 것들을 이해하기 위한 기초에 불과했다.
뒤로 갈수록 어려워지는 것은 사실이다. 체감상 그렇다. 이론 위주로 듣다보니 수업이 졸리게 느껴질 수도 있다. 하지만 실습을 진행하기 때문에 실습을 통해서 이해하려고 노력하면 도움이 될 것이다.
19일 차
컬렉션의 여러 메소드를 실습하고 다음주에 있을 시험을 대비해 자습시간이 주어졌다. 처음 학원에서 이루어지는 평가기 때문에 걱정이 많다. 어떤 문제가 나올지 난이도가 어려울지... 20일차 후기에는 시험에대한 후기를 남겨볼 수 있을 것 같다. 정보를 올리는 것이 문제가 되지 않는 선에서 후기를 남겨 보도록 하겠다.
'국비학원 일상' 카테고리의 다른 글
kh 정보교육원 25~27일 차 후기 (0) | 2020.02.17 |
---|---|
kh정보교육원 20~24일차 후기 (0) | 2020.02.09 |
kh정보교육원 15일차 후기 (0) | 2020.01.27 |
kh정보교육원 12, 13 ,14일차 후기 (0) | 2020.01.23 |
kh정보교육원 10, 11일차 후기 (0) | 2020.01.20 |