WIL(Weekend Ingwang Learned
WIL(2022-11-21 ~ 2022-11-27) 알고리즘 문제풀이, Spring 입문
김코식
2022. 11. 27. 17:41
이번주 학습 요약
1. 알고리즘 문제 풀이
java 문법
//배열 정렬
- Arrays.sort(배열) > 배열 오름차순
//배열 자르기
- int[] strings = Arrays.copyOfRange(array, a, b);
array 배열의 a~b까지의 범위만 복사해서 넣음
//배열 인덱스 리턴
-ArrayList.indexOf() - 리스트에 동일한 객체가 있을 시 가장 앞에 있는 인덱스 리턴
//배열 값 출력
-Arrays.toString(배열)
2. 객체지향 프로그래밍
객체지향 프로그래밍은 실세계에 존재하고 인지하고 있는 객체(Object)를 소프트웨어의 세계에서 표현하기 위해 객체의 핵심적인 개념 또는 기능만을 추출하는 추상화(abstraction)를 통해 모델링하려는 프로그래밍
특징
- 추상화 - 객체들의 공통적인 특징을 도출
- 캡슐화 - 실제 구현되는 부분을 외부에 드러나지 않도록하여 정보 은닉
- 상속성 - 하나의 클래스가 가진 특징을 다른 클래스가 그래로 물려받는 곳
- 다형성 - 동일한 명령의 해석을 연결된 객체에 의존오버라이딩, 오버로딩
장점
- 소프트웨어의 생산성 향상
- 쉬운 모델링
- 보안성 강화
단점
- 느린 실행 속도
- 필요한 메모리양의 증가
3. JPA
ORM
애플리케이션 Class와 RDB(Relational DataBase)의 테이블을 매핑(연결)
기술적으로는 어플리케이션의 객체를 RDB 테이블에 자동으로 영속화
- SQL문이 아닌 Method를 통해 DB를 조작할 수 있어, 객체 모델을 이용하여 비즈니스 로직을 구성하는데만 집중
- 각종 객체에 대한 코드를 별도로 작성하여 코드의 가독성을 높임
- 객체지향적인 코드 작성이 가능하다. 오직 객체지향적 접근만 고려하면 되기때문에 생산성 증가매핑하는 정보가
- Class로 명시 되었기 때문에 ERD를 보는 의존도를 낮출 수 있고 유지보수 및 리팩토링에 유리
JPA
Java OR에 대한 API 표준 명세로 인터페이스의 모음
구현체가 따로 없고 사용하기 위해선 ORM프레임워크 사용
jpa 특징
- 데이터를 객체 지향적으로 관리할 수 있음
- 자바 객체와 DB테이블 사이의 매핑 설정을 통해 SQL생성
- 객체를 통해 쿼리를 작성할 수 있는 JPQL지원
jpa 사용 이유
- 객체 중심적 개발 가능
- 생산성 증가 - 간단한 메소드로 CRUD(create,read,upadate,delete)가능
- 유지보수에 용이
- java의 객체 지향적 성격과 관계형 데이터베이스의 지향하는 목적이 다르기 때문에 발생하는 패러다임의 불일치 해결
이번주 느낀점
Spring을 처음 사용해보니 어렵기도 하고 이해도 잘 안됐지만 웹 종합반 강의에서 나온 내용과 연관지어 생각하니 익숙한 부분도 있어서 적응해 나가고있다.
java 언어와 spring을 동시에 진행하니 시간이 부족한 것 같다..ㅠ