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을 동시에 진행하니 시간이 부족한 것 같다..ㅠ