본문 바로가기

Computer Science/개발상식4

객체지향 프로그래밍에 대한 전반적인 정리 객체지향 프로그래밍이란? OOP (Object-Oriented Programming)이란 객체 지향적인 프로그래밍. 즉, C언어같은 절차 지향적인 프로그래밍(프로그램이 함수 단위로 순서대로 진행)이 아닌 프로그래밍에서 필요한 데이터를 추상화 시켜 상태와 행위를 가진 객체로 만들고, 그 객체의 관점에서 프로그래밍을 한다는 것이다 .객체들간의 상호작용을 통해 로직을 구성한다. OOP는 절차지향에 비해서 사람의 사고방식과 더 가깝다. OOP는 객체들의 유기적인 관계를 통해서 프로세스가 진행된다. 애플리케이션을 구성하는 요소들을 객체로 바라보고, 객체들을 유기적으로 연결하여 프로그래밍 하는 것을 말한다. 클래스, 객체, 인스턴스의 차이 객체 소프트웨어 세계에 구현할 대상 물리적으로 존재하거나 추상적으로 생각할 .. 2023. 4. 9.
컴파일 언어 vs 인터프리터 언어 컴파일 언어 컴파일 언어는 작성한 소스 코드 전체를 한 번에 기계어로 번역한 뒤, 이 번역된 코드를 한번에 실행하는 두 단계를 거쳐 진행된다. 즉 번역과 실행이 완전히 따로 이루어진다는 뜻이다. 번역은 컴파일러를 통해 수행되고, 대표적인 예시로는 C, C++, Go 등이 있다. 규모가 큰 프로그램은 컴파일 시 오래 걸릴 수 있다. 컴파일 후에는 모든 소스코드가 기계어로 변환되어 있기 때문에 실행 시간이 빠르다. 코드를 수정하면 다시 컴파일 과정을 거쳐야 한다. 인터프리터 언어 인터프리터 언어는 소스 코드를 한 줄씩 읽어들이면서 번역과 실행을 동시에 진행한다. 번역은 인터프리터를 통해 수행되며, 대표적인 예시로는 스크립트 언어인 Python, R, JavaScript 등이 있다. 빌드 과정 없이 바로 실행.. 2023. 2. 12.
Spring에서 자주 사용되는 디자인 패턴 디자인 패턴이란 소프트웨어를 설계할 때 특정 맥락에서 자주 발생하는 고질적인 문제들이 또 발생했을 때 재사용할 할 수있는 훌륭한 해결책 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 ‘규약’ 형태로 만들어 놓은 것 디자인 패턴의 종류는 다양하지만, 그 중 스프링과 관련이 있는 패턴인 싱글톤 패턴, 템플릿 메소드 패턴, 팩토리 메소드 패턴, 프록시 패턴에 대해 살펴보고자 한다. 싱글톤 패턴 하나의 클래스에 오직 하나의 인스턴스만 갖도록 하고, 생성된 객체를 어디에서든지 참조할 수 있도록 하는 패턴이다. 사용처 보통 싱글톤 패턴이 적용된 객체가 필요한 경우는 그 객체가 리소스를 많이 차지하는 역할을 하는 무거운 클래스일때 적합하다. 대표적으로 데이터베이.. 2023. 2. 7.
MVC 패턴이란? MVC 패턴이란 MVC 는 소프트웨어 디자인 패턴의 하나로, Model, View, Controller의 약자이다. 하나의 애플리케이션, 프로젝트를 구성할 때 그 구성요소를 세가지의 역할로 구분한 패턴이다. 각 컴포넌트에 대해 살펴보면, 1) 모델 모델은 어플리케이션의 정보, 데이터를 나타낸다. 비즈니스 로직을 처리한 후 모델의 변경 사항이 컨트롤러와 뷰에 전달된다. 2) 뷰 사용자에게 보여지는 부분, 즉 유저 인터페이스(User interface)를 의미한다. 뷰는 받은 데이터를 화면에 표시해주는 역할을 하는데, 모델에게 전달받은 데이터를 별도로 저장하지 않고 사용자가 화면에 표시된 내용을 변경하게 되면 모델에게 전달하여 모델 자체를 변경해야 한다. 3) 컨트롤러 모델(Model)과 뷰(View) 사이.. 2023. 2. 6.