전체 글
-
4. 자바의 정석(기초편) 이후카테고리 없음 2022. 11. 13. 21:28
자바의 정석(기초편) 1회독을 끝냈다. 자바의 정석 강의를 들으면서 처음으로 백준 문제들을 직접 접해보며 내가 배운 지식들을 문제해결을 위해 활용할 수 있다는 점이 즐거웠다. 다만, 자바 강의는 14강까지 다 들었지만 현재 내가 풀어본 백준 문제 단계는 이제야 배열에 접어들었다. 스터디를 진행하며, 주간 목표를 단순히 '자바 강의 수강' 으로 일축해 놓았기에 단순히 강의를 보는 것 만으로도 목표는 충족되었다는 생각이 들었다. 그로인해 배운 지식에 대한 이해의 유무는 뒷전이 되었고 단순히 시청'만'을 했음에 만족하고 넘어가기 일쑤였다. 아마 내가 국비 수업을 들었더라도 수업 진도만을 쫓아가는 모습이 지금과는 비슷하지 않았을까 생각이 든다. 현재 생기는 의문들은 1. 나는 자바 기초 강의를 다 들었다. 이제..
-
3-7 자바의 기초(ch14)카테고리 없음 2022. 11. 12. 21:58
chapter14 #14-1~4 람다식(Lambda Expression) -람다식이란, 함수(메서드)를 간단한 '식(expression)'으로 표현하는 방법 ex) ㅋㄷㅂㄹ int max(int a, int b) { return a > b ? a : b; } ㅋㄷㅂㄹ ㄲ ↓ ㅋㄷㅂㄹ (a, b) -> a > b ? a : b ㅋㄷㅂㄹ ㄲ -익명 함수(이름이 없는 함수, anonymous function) ㅋㄷㅂㄹ int max(int a, int b) { return a > b ? a : b; } ㅋㄷㅂㄹ ㄲ ↓ ㅋㄷㅂㄹ int max(int a, int b) -> { return a > b ? a : b; } ㅋㄷㅂㄹ ㄲ -함수와 메서드의 차이 =>근본적으로 동일. 함수는 일반적 용어, 메서드는 객체지..
-
3-6 자바의 기초(ch12,13)카테고리 없음 2022. 11. 6. 19:21
chapter12#12-1지네릭스(Generics)란?-컴파일시 타입을 체크해 주는 기능(compile-time type check)// Tv객체만 저장할 수 있는 ArrayList를 생성ArrayList tvList = new ArrayList();tvList.add(new Tv() ); // OKtvList.add(new Audio() ); // 컴파일 에러. Tv외에 다른 타입은 저장 불가 -객체의 타입 안정성을 높이고 형변환의 번거로움을 줄여줌 *지네릭스의 장점1. 타입 안정성을 제공한다.2. 타입체크와 형변환을 생략할 수 있으므로 코드가 간결해짐. 예외의 상속계속도 이후의 설명은 영상강의 참조(16:20) #12-2,3타입 변수-클래스를 작성할 때, Object타입 대신 타입 변수..
-
3-5 자바의 기초(ch10,11)카테고리 없음 2022. 10. 31. 19:04
Chapter10 #10-1~3 날짜와 시간 -java.util.Date =>날짜와 시간을 다룰 목적으로 만들어진 클래스 =>Date의 메서드는 거의 deprecated되었지만(앞으로 사용하지 말라), 여전히 쓰이고 있다. -java.util.Calendar =>Date클래스를 개선한 새로운 클래스. 여전히 단점이 존재 -java.time 패키지 =>Date와 Calendar의 단점을 개선한 새로운 클래스들을 제공 =>캘린더의 경우엔 날짜+시간을 항상 같이 다룸. =>그런데 time패키지는 날짜, 시간 따로 다룰수도, 같이 다룰수도 있음. Calendar클래스 -추상 클래스이므로 getlnstance()를 통해 구현된 객체를 얻어야 한다. Calendar cal = new Calendar(); // 에러..
-
3-4 자바의 기초(ch8,9)카테고리 없음 2022. 10. 31. 19:02
Chapter 8 #8-1~3 프로그램 오류 -컴파일 에러(compile-time error) : 컴파일 할 때 발생하는 에러 -런타임 에러(runtime error) : 실행할 때 발생하는 에러 =>java의 런타임 에러 (1)에러(error) : 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 (2)예외(exception) : 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류 (에러(error)는 어쩔 수 없지만, 예외(exception)는 처리하자) -논리적 에러(logical error) : 작성 의도와 다르게 동작 -예외처리의 정의와 목적 =>예외처리의 정의 : 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것 =>예외처리의 목적 : 프로그램의 비정상 종료를 ..
-
3-3. 자바의 기초(ch7)카테고리 없음 2022. 10. 22. 17:00
#7-3,4 클래스 간의 관계 결정하기 상속관계 : '~은 ~이다.(is-a)' ex) class Circle{ Point c = new Point(); int r; } 포함관계 : '~은 ~을 가지고 있다.(has-a)' ex) class Circle extends Point { int r; } (단 90% 이상이 포함이다!) 상속은 여러가지 제약이 많기에 꼭 필요할때만 씀. *프로그래머는 설계90% + 코딩 10%, 즉 설계가 주 인데, 설계능력을 키우기 위해선 그려보는걸 자주 해야한다! #7-5,6 단일 상속(Single Inheritance) -Java는 단일상속만을 허용한다.(C++은 다중상속 허용) ex) class TvDVD extends Tv, DVD { //에러 : 조상은 하나만 허용된다..
-
3-2. 자바의 기초(ch6)카테고리 없음 2022. 10. 7. 19:50
#6-1 객체지향 언어의 특성4가지 1)캡슐화 2)상속 3)추상화 4)*다형성 6,7장+다형성은 반복해서 봐야함. 객체지향 언어 = 프로그래밍 언어 + 객체지향개념(규칙) ->객체지향개념은 규칙이기 때문에, 이해 이전에 외우는게 더 나음! ->개념과 규칙은 A4 두장정도에 요약을 해서, 하루에 한번씩 보여 외울 것 #6-2~4 클래스 : 객체를 정의해 놓은 것, 객체를 생성하는데 사용 객체 : 실제로 존재하는 것. 사물 또는 개념, 용도는 객체가 가지고 있는 기능과 속성에 따라 다름 ex) 클래스-설계도, 객체-제품 객체의 구성요소 : 객체=속성(변수)+기능(메서드) 인스턴스 객체 : 모든 인스턴스를 대표하는 일반적 용어 인스턴스 : 특정 클래스로부터 생성된 객체(예:tv인스턴스) #6-5 하나의 소스파..
-
3-1. 자바의 기초(ch2~5)카테고리 없음 2022. 10. 2. 19:38
Chapter 2 #2-1~2 ->글자 출력하기 System.out.println("Hello"); : print 만써도 가능. 단, 뒤에 ln을 붙이는 이유는 줄바꿈을 위함. 팁:ctrl+alt+down =행단위 복사 팁:alt+shift+a = 컬럼 편집 모드 #2-3 ->변수(variable) : CS에선 하나의 값을 저장할 수 있는 메모리 공간을 뜻함. ->변수의 선언 이유 : 값(data)을 저장할 공간 마련을 위해 ->변수 선언 방법 : '변수타입' '변수이름' ; ->변수에 값 저장하기 : 변수 선언 이후, '변수이름' = '값' ; (선언과 값 저장을 동시에 하기 : '변수타입' '변수이름' = '값'; ->변수의 초기화 : 변수에 처음으로 값을 저장하는 것 #2-4 ->변수의 타입은 저장..