본문 바로가기

OOP4

지극히 개인적인 OOP에 대한 원초적인 접근과 해석 0. 개요 요즘 스터디에서 토비의 스프링을 읽고 있습니다. 책을 읽다보니 내가 그동안 짜던 코드는 OOP적인 코드가 아니라는 것을 깨달았습니다. 머리로는 "이해하고 있다"라는 착각을 하고 있던 것이죠. 그래서 근본적인 질문과 관점으로 다시한번 OOP에 대해 배워보려고 합니다. 1. OOP란 무엇인가? OOP는 객체지향 프로그래밍(Object Oriented Programming)의 약자입니다. 그렇다면 이 객체 지향이라는 것이 무엇일까 궁금증이 생깁니다. 객체지향이라는 것은 한 묶음의 소스코드를 객체라는 하나의 단위로 보는 것입니다. 그리고 이 객체 간의 상호작용을 통해서 하나의 프로그램이 돌아가게 되는 것이죠. 마치 전대물에 나오는... 수십가지 서로 다른 로보트가 합체해서 새로운 로보트가 되는 것과 .. 2023. 8. 6.
1. JPA의 등장 0. 개요 - 이전 포스팅에서 JPA를 사용하는 이유에 대해서 알아보았다. - 왜 JPA가 필요한지, 근본적인 문제점이 무엇인지에 대해서 알아보았다. - 복습하자면 JPA를 사용하는 이유는 SQL 중심의 개발 방식을 객체지향 중심의 개발 방식으로 개선하기 위함이다. - 그렇다면 JPA가 무엇인지 천천히 알아보자. 1. JPA란? - JPA는 Java Persistent API의 축약어다. - 쉽게 설명하자면 JAVA의 ORM 표준 기술을 의미한다. a) ORM(Object-relational Mapping) - ORM이 의미하는 바, 역할하는 바는 JPA가 필요한 이유와 동일하다. - JPA가 필요한 이유는 OOP와 RDB의 구조적 차이로 인해 데이터를 매핑하는 과정에 있어서 SQL 중점적인 개발 방식을.. 2022. 3. 22.
0. JPA를 사용하는 이유 0. 개요 - Spring과 Spring MVC를 익혔다면 이제는 JPA를 배울 차례다. - JPA는 현재 현업에서 가장 활발히 사용되는 기술이다. - 그렇다면 왜 JPA를 사용하는지 알아보자. 1. SQL 중점적 개발의 문제점 a) 무엇이 문제일까? - 다양한 종류의 DB가 존재하지만, 아직까지 관계형 DB가 중점적으로 사용되고 있다. - 그러므로 대부분의 애플리케이션은 OOP를 통해 관계형 DB를 처리 및 관리하는 형태의 구조를 갖는다. - 큰 흐름을 보면 웹 애플리케이션은 프런트와 백엔드의 네트워킹을 이용한 데이터 처리과정이다. - 그리고 그 처리과정 내부에는 DB를 필수적으로 거치게 된다. - 아무리 백엔드를 화려한 Java 코드로 만들었더라도, 결국 DB가 이를 이해할 수 있어야 한다. - 그러.. 2022. 3. 21.
2. 다형성(Polymorphism)과 객체지향 프로그래밍(OOP) 0. 결론 - Spring과 객체지향 프로그래밍의 핵심은 다형성에 있다. - 다형성을 객체지향 프로그래밍의 특성 중 하나라고 말하지만, 다형성으로 인해 객체지향 프로그래밍의 개념이 완성된다. - 그렇다면 다형성이 무엇인지, 왜 객체지향의 핵심인지 알아보자. 1. 객체지향 프로그래밍(OOP)이란? - 객체지향 프로그래밍이란, → 독립적인 단위(객체)가 협력하여 데이터를 처리하는 프로그램 구조를 갖는 것 → 독립적인 단위(객체) 간의 관계가 유연하여 부품을 교체하듯, 프로그램의 구조변경이 쉬운 것 - 즉, 자동차를 만드는 것처럼 프로그램(App)을 만드는 것이다. - 자동차는 수많은 부품의 조합으로 이루어진 결과물이다. - 이처럼 코드를 역할에 따라 분리하고, 하나의 부품으로써 조합하여 App이라는 결과물로.. 2022. 1. 24.