본문 바로가기

내일배움캠프 4기 스프링/내배캠 TIL📘

11. 17 객체 지향 프로그래밍 강의/ JAVA/ 알고리즘 강의

728x90

1. 객체 지향 프로그래밍 강의

핵심 메세지: 발생 수익보다 투입 비용이 더 들어가는 소프트웨어는 가치가 없다.

이를 개선하기 위한 노력들:

캡슐화, 다형성 그리고 왜 이러한 노력을 하는 지 이해하기

접근 제어자는 캡슐화가 가능하도록 하는 도구다.

Interger vs int : 래퍼클래스

Boolean vs boolean : 래퍼클래스

캡슐화:

캡슐(클래스) 안에 모여있는 코드만 수정하면, 그 캡슐을 호출하여 사용하는 곳을 일일히 수정할 필요 없다. ~ 비용절감

Protected + JPA

인터페이스 : 구현하려는 객체가 가지고 있는 동작의 명세

(실무) 추상 클래스는 부모-자식클래스가 정말 확실한 경우에 사용 ~ 실사용도가 비교적 낮다

비용절감의 관점에서, 다형성 또한 추가비용의 투입이 없이 교체, 유지/보수가 가능하게 만들어주는 장점

(개발설계 중 일부) (...) -> 기능명세정리 -> 공통기능 종합하여 인터페이스 등으로 종합 -> 피드백 -> (...)

2. JAVA 강의 + 정석 + 타임 어택 뒷풀이 정리

Java 기초 강의 완강, 스트림API에 대해 강의를 들었지만 이해를 많이 하진 못했다.

부족한 지식을 쌓기위해 자바의 정석을 공부하는 시간을 가졌다.

다형성

추상클래스, 추상메서드

 

타임어택 뒷풀이 중 핵심 내용 추가 정리

체크리스트

조건문:

if

if-else

if- else if

삼항연산자

switch

 

반복문:

while

do-while

for

Enhanced for

 

etc:

continue

break

break with label

return:

return의 흐름을 잘 알고 있다, 메서드/ 함수에서 return 키워드를 사용했을 때 코드의 흐름을 설명할 수 있다.

void 메서드에서 return 키워드를 사용했을 때 코드의 흐름을 설명할 수 있다.

 

1. 타입 중 데이터 크기가 더 큰 것으로

2. 형변환에는 묵시적 형변환과 명시적 형변환이 있다

3. While문은 끝을 알지 못할 때 쓴다(for문은 범위를 알고 있을때)

4. String은 왜 배열처럼 쓸 수 있을까?

3. 알고리즘 강의

해쉬:

해쉬 테이블은 해쉬 함수를 사용하여 색인을 버킷이나 슬록의 배열로 계산한다. 데이터를 다루는 기법 중 하나로 데이터의 검색과 저장이 아주 빠르게 진행된다.

딕셔너리 = 해쉬테이블

해쉬 함수: 임의의 길리를 갖는 메세지를 입력하여 고정된 길이의 해쉬 값을 출력하는 함수

예제

(파이썬 콘솔)길이 8인 배열 items에 key: "fast" value: "빠른" 추가

 

*해쉬 셋, 해쉬 맵?(JAVA)

*궁금증: APP vs API?

728x90