반응형

부트캠프/코트스테이츠 백엔드 코스 36

회고 17일차

주어진 배열이나 리스트를 정렬된 상태로 출력하고자 할때 --> Array.sort(arr);for(:){System.out.prinln();}을 통해서 출력할 수 있다. 이 코드도 간결하고 깔끔하지만, 이 코드는 원본을 변형시킨다는 단점을 가지고 있다. Stream API를 적용시킨다면.Stream arr = arr2.stream();arr.sorted().forEach(~~~); 라고 표현을 할 수있다.즉 :: Stream API를 사용했을 경우1. 일회성이다. 2. 원본 데이터를 변형시키지 않는다.-->stream은 원본 데이터를 건들지 않는다.3. 내부 반복으로 작업을 처리한다.-->  forEach(~~); 반복문이 함수 안에 숨겨져있다. II 람다식Stream연산은 매개변수로 함수형 인터페이스를..

회고 15일차

Collectioin 객체에 대해서 O X퀴즈로 나타내 보았다. 1. 모든 컬렉션 클래스들에는 기본 타입도 지정할 수 있다.(X)레퍼 객체만 사용 가능하다.  2. List 인터페이스를 구현한 컬랙션 클래스들은 데이터의 저장순서를 유지하며, 중복 저장을 허용한다.(0)-> 중복 저장을 허용하지 않는 것은 SET이다. 3. ArrayList는 배열과 달리 크기를 초과하여 요소를 추가하면 자동으로 크기가 늘어난다.(0)-> 기본 사이즈를 10으로 잡고 크기가 커지면 그에 맞춰서 확장한다. 4. ArrayList는 요소를 검색할 때 좋은 성능을 보이지만, 순차적으로 요소를 추가하거나 삭제할 때에는 그렇지 않다.(X)-> ArayList는 요소를 순차적으로 요소를 추가하거나 삭제할 때 빠르다는 이점을 가진다. ..

회고 14일

오늘 배운 키워드는 제너릭 클래스, 예외처리, Collection 이였다. 간단하게 중요한 부분만 설명하자면 이렇다.보통 생성클래스 변수는Car car = new Car(); 이렇게 생성하지만, 제너릭 클래스는 클래스 변수 = new 클래스();이렇게 생성한다. 내용을 보자면 이렇다.제너릭 클래스는 TYPE을 일반화 시킨것이다. Class Basket로 생성을 하고, key와 value로도 나눌 수 있다.클래스 변수는 공유변수인 데 제너릭을 쓰게되면 인스턴스마다 달라지기 때문에 불가능하다. Class Basket private T king;~~~~ 제너릭 메서드는 제너릭 클래스와 별계로 메서드 안에서 파라메터나 반환타입을 제너릭으로 줄 수 있다.public start(T king){ }여러가지 타입이..

회고 13일차

객체지향의 가장 중요한 원리인 추상화 다형성 상속 캡슐화에 대해 모두배우고 이 원리를 모두 적용해 간단한 프로그램을 제작했다.여기서 깨달은 아주 중요한 원칙 3가지를 확인하면서 설명하겠다. 1. 한 클래스는 하나의 역할만 하게 끔 설계한다.ex) 장바구니 클래스는 주문의 역할을 맞게 할 필요가없다. 2. 한 클래스가 다른 클래스와 관계를 맺고 있을 때 그 다른 클래스의 직접적인 정보에 대해 알게 할 필요가 없다.ex) 자동차와 바퀴가 연관을 맺을 때 바퀴가 현대 바퀴인지 기아 바퀴인지 자동차 클래스가 알게끔 하면 안된다. 3. 공통적인 특성이나 속성을 모아 추상 클래스나 인터페이스로 모아 구현, 상속받게 한다.ex) 현대 자동차, 기아 자동차등 속성이 비슷한 상황이라면 중복코드를 줄이기 위해 위와 같은 ..

회고 12일차

오늘은 상속, 추상화, 캡슐화, 다형성을 모두 배웠고, 그것을 한반에 적용한 카페 키오스크 프로그래밍을 했다. 일단 개념만 정리하면 이렇다.추상화는: 공통점을 뽑아 내는 것이고,상속은 다중상속이 안되고 단일 상속만 가능하다.하지만 인터페이슨 다중 구현이 가능하다. 추상메서드인터페이스일반 클래스(o)일반 메서드(x)단일 상속다중 구현(o)표로 나타내자면 이렇다.다형성이란 -> 같은 참조변수를 사용할 때 다양한 결과를 가지는 것을 의미하고,상위 클래스 타입의 참조변수를 통해서 하위 클래스의 객체를 참조할 수 있도록 허용한 것이다. ex) GirlFriend friedn = new GirlFriend();Friend friend = new GirlFriend();즉 위에 클래스가 Friedn에게 상속당해있다면..

회고 11일차

오늘 배운 것은 자바의 oop 심화과정인 상속, 캡슐화에 대해서 배웠다.  객체 지향에 가장 중요한 4기둥 상속, 다형성, 캡슐화, 추상화중 두가지이다. 상속이란 ---> extends 키워드를  이용하여 코드의 중복과 코드의 길어짐을 방지하는 방법이다.class Car{ int wheel; Car(){ } public void run(){ }}만약 Car라는 키워드 가 있을 때 상속이란 개념이 없을 시에는 SuperCar이라는 클래스를 만들 기 위해서는class SuperCar{ int wheel; SuperCar(){ } public void run(){ } . . .}이런식으로 다른 클래스를 만들어서 코드..

회고 10일차

오늘은 불금 금요일이고 상태는 나쁘지 않다. 오늘은 클래스, 객체, 생성자, 내부클래스에 대해서 다시 한번  생각해 볼 수 있는 시간이였고, 짧게 블로깅에 대해서 배웠다.  내가 지금까지 썼던 블로깅은 거의 일기였던 것.. 오늘 부터라도 블로깅에 대해서도 공부하고 연구해 보아야 겠다고 생각했다. 자. 객체지향에 대해서 총 정리를 해보겠다. 실제 생활에서는 무언가를 만드려면 설계도가 필요하고 그 설계도를 통해 만든 것은 움직이게 된다. 뭐 사람을 설계해서 만드냐 라고 말할 수 도 있지만. 사람이란 것을 만드는 것 보단, 사람이 움직이고 생각하고 실생활에 일어나는 것을 컴퓨터가 묘사하는 것을 객체 지향이라고 생각 하기로 했다. 클래스 -> 객체를 설계하기 위한 설계도 역할을 한다.class 클래스이름 {}이..

회고 9일차

오늘도 열심히 아침부터 달리고 집으로와서 9시에 정확하게 늦지않고 들어갔다 ^^ 밥먹는 시간이 빨라진 것인가? 오늘은 객체지향언어 oop를 배웠다.객체,클래스,상속,다형성,추상화,캡슐화 ... 중에서 객체와 클래스에 대해서 배워보았다.객체 = 무안가에 대한 정보와 동작을 묶는 것클래스 = 클래스를 통해 객체를 만들 수 있다. class person{ String name; --->필드 method(){ -->메서드 } }즉 예를 들면 클래스는 = 설계도 , 객체 = 설계도를 통해 얻은 객체  클래스의 생성 과정에 대해서 설명해보자면Person p = new Person();가장 먼저 실행정 Person클래스가 JVM에 RUN TIME AREA에 클래스 영역에 클래스를 생성하고 ..

회고 8일차

아침알바는 날 따듯해지면 편하겠지~ 라는 생각으로 그냥 아무생각없이 하는 중..오늘의 keyword는 배열이였다.집에 8시30분에 도착해서 밥을 먹고 씻고 자리에 앉으면 정확히 9시1분이다.. 항상 오프닝 멘트 1분을 화면으로 보지못하고 듣게 된다..밥을 더 빨리먹어야하나 오늘은 pair 프로그래밍이 끝나는 날이다. 정말 왜 소통하면서 하라는 지 알게 되었다. 여러 사람들과 소통하면서 공유하면서 프로그래밍을 하면 훨씬 더 재밌고 능률이 오르는 것 같아서 기분이 좋다. 오늘 배운 내용을 정리하자면, 예전에 배웠던 변수를 선언할때 메모리에 있는 메모리 쉘 들에는 그들을 식별할 수 있는 메모리 주소를 가지고 있고, 그 메모리 주소에 데이터 타입의 크기만큼 할당하여 사용한다고 했다.하지만 배열? 배열이놈은 선언..

회고 7일차

한편으로는 힘이 들지만 한편으로는 보람찬 하루였다. 오늘은 java의 반복문에 대해서 배웠다. 반복문에 종류중에서는 for문 while문 do while문이 있었다.for(초기화;조건식;증감식){     code;}초기화 -> 조건식-> code ->증감식 -> 조건식 이렇게 반복된다. while(조건 : 참일때만 실행){   code;   증감식도 필요하다;} do{    code;}while(조건문) do while문과 while문은 code를 실행시키고 조건을 보냐 조건을 보고 code를 증가시키냐 차이인 것 같다. 하지만 오늘의 하일라이트는 이론이 아니였다.강사분께서 하신 말씀 코딩은 암기식으로는 성공 할 수없다. 연습만이 살길이다. 를 실현해야한다...오늘도 pair분과 많은 문제들을 풀면서 느..

반응형