본문 바로가기

전체 글239

OOP Concepts Procedural Programing vs Object Oriented Programming Procedural Programing 프로시저 호출의 개념을 바탕으로 하고 있는 프로그래밍 패러다임으로 프로그램이 프로시저를 이용해서 위에서 아래로 순서대로 수행되는 개발 방법입니다. 대표적으로 C언어가 있습니다. 절차지향언어의 장점 1. 실행 속도가 빠르다. (컴퓨터의 처리방식과 유사) 절차지향언어의 단점 1. 유지보수가 어렵고 시간이 많이 소모된다. 2. 실행 순서가 정해져 있으므로 코드의 순서가 바뀌면 동일한 결과를 보장하기 어렵다. Object Oriented Programing 객체지향이란 실제 세계를 모델링하여 소프트웨어를 개발하는 방법입니다. 객체지향 프로그래밍은 기능과 논리보다는 데이터 또는 객.. 2022. 7. 26.
[Design Pattern] 프록시 패턴(Proxy Pattern)에 대해 알아보자 Definition 프록시 패턴(Proxy Pattern)은 특정 객체로의 접근을 제어하는 대리인(특정 개체를 대변하는 객체)을 제공한다. 프록시는 다른 객체의 '대리인' - 원격 프록시를 써서 원격 객체로의 접근을 제어할 수 있다. - 가상 프록시(virtual proxy)를 써서 생성하기 힘든 자원으로의 접근을 제어할 수 있다. - 보호 프록시(protection proxy)를 써서 접근 권한이 필요한 자원으로의 접근을 제어할 수 있다. Structural Patterns Situation - 표현되는 객체는 시스템 외부에 있다. - 객체는 요청시 생성되어야 한다. - 원본 객체에 대한 액세스 제어가 필요하다. - 객체에 액세스할 때 추가된 기능이 필요하다. - 지연 초기화(가상 프록시). 이것은 때.. 2022. 7. 25.
[용인/구성] 피자헛 용인구성본점 돈마호크 후기 안녕하세요~ 오늘은 피자헛 용인구성본점에서 돈마호크를 구매해서 먹어보고 난 후기를 가지고 왔습니다!! 몇 주 전에 먹은 거라 지금도 이벤트를 하는지는 모르겠는데요 ㅋㅋ 17,000원 할인받아서 20,900원에 라지를 구매할 수 있었습니다~ 근데 함정은...광고 사진에는 에그타르트 엣지가 들어가 있는데 ㅋㅋㅋ 실제 그냥 사면 에그타르트 엣지가 아니라는 점... 이건 사기 광고 아닙니까ㅠㅠㅠ 아무튼 저는 에그타르트 라지 엣지 추가해서 25,900원에 구매했습니다! 여기가 용인구성본점인데요~ 앞에 그냥 주차하면 될 것 같아요! 주차장은 있네요 ㅎㅎ 주차하실 분은 참고하세요! 영업시간은 오전 11:00~오후 10:30입니다! 영업시간을 아예 박아놨네요 ㅋㅋㅋㅋ 수정 안 하겠다는 의지인지 ㅋㅋ 눈에 잘 띕니다. .. 2022. 7. 21.
[Design Pattern] 상태 패턴(State Pattern)에 대해 알아보자 Definition 상태 패턴(State Pattern)을 사용하면 객체의 내부 상태가 바뀜에 따라 객체의 행동을 바꿀 수 있다. 마치 객체의 클래스가 바뀌는 것과 같은 결과를 얻을 수 있다. 실제로 다른 클래스로 변신하는게 아니라 구성으로 여러 상태 객체를 바꿔 가면서 사용하기 때문 Behavioral Patterns State pattern은 Finite-State Machine의 개념과 밀접하게 관련되어 있다. Situation - 객체의 behavior는 state의 영향을 받아야 한다. - 복잡한 조건은 객체 동작을 해당 state에 연결한다. - state 간의 전환은 명시적이어야 한다. - 객체의 behavior는 state에 따라 달라지며 해당 state에 따라 런타임에 behavior를 .. 2022. 7. 19.
[경기/수원] 미스터 짬뽕 후기 안녕하세요~ 오늘은 수원 영통에 위치한 미스터 짬뽕 후기를 써보려고 합니다. 제가 자주 다니던 서천교동짬뽕이 문을 닫아가지고...ㅠㅠ 주변에 짬뽕집을 찾아보다가 발견해서 방문했습니다! 주차장은 따로 없고 골목에 그냥 주차했어요~ 영업시간은 매일 09:40~22:30분입니다! 주문하고 나니 바로 갖다 주시더라고요~ 단무지 양파, 춘장! 셀프로 더 가져올 수 있어서 좋았습니다 ㅎㅎ 저는 저기 별표쳐있는미스터 짬뽕 12,500원을 시켰어요! 가격이 좀 오르긴 했는데 500원만 올리셨나 봐요... 탕수육 미니 9,000원이랑 두 개 주문을 했습니다! 황제차오면도 궁금하긴 하네요 ㅋㅋ 무슨 맛일지...? 대체로 엄청 비싼 편은 아닌 것 같았어요! 매장은 생각보다 넓었습니다! 배달 주문도 많고 사람도 꽤 있더라고요.. 2022. 7. 19.
[Design Pattern] 컴포지트 패턴(Composite Pattern)에 대해 알아보자 Definition 컴포지트 패턴(Composite Pattern)으로 객체를 트리구조로 구성해서 부분-전체 계층구조를 구현한다. 컴포지트 패턴을 사용하면 클라이언트에서 개별 객체와 복합 객체를 똑같은 방법으로 다룰 수 있다. 복합 구조(Composite Structure)를 사용하면 복합 객체와 개별 객체를 대상으로 똑같은 작업을 적용할 수 있다. 즉, 복합 객체와 개별 객체를 구분할 필요가 거의 없어진다. Composite 패턴은 공통 인터페이스를 공유하는 두 가지 기본 요소 유형인 단순 Leaf와 복합 컨테이너를 제공한다. 컨테이너는 Leaf와 다른 컨테이너로 구성될 수 있다. 이를 통해 Tree와 유사한 중첩된 재귀 객체 구조를 구성할 수 있다. Situation - 객체의 계층적 표현이 필요할 .. 2022. 7. 16.
[Design Pattern] 반복자 패턴(Iterator Pattern)에 대해 알아보자 Definition 반복자 패턴(Iterator Pattern)은 컬렉션의 구현 방법을 노출하지 않으면서 집합체 내의 모든 항목에 접근하는 방법을 제공한다. 이 패턴을 사용하면 집합체 내에서 어떤 식으로 일이 처리되는지 전혀 모르는 상태에서 그 안에 들어있는 모든 항목을 대상으로 반복 작업을 수행할 수 있다. Cursor라고도 알려짐 Behavioral Pattern Situation - 자료구조에 상관없이 객체 접근 방식을 통일하고자 할때 - 컬렉션의 내부에 복잡한 데이터 구조가 있지만 그 복잡성을 클라이언트로 부터 숨기고 싶은 경우(편의 또는 보안상의 이유로 Iterator 패턴을 사용하라) - 앱 전체에서 순회 코드의 중복을 줄이기 위해 (순회 코드를 지정된 반복자로 이동하면 애플리케이션 코드를 보.. 2022. 7. 16.
[Design Pattern] 템플릿 메소드 패턴(Template Method Pattern)에 대해 알아보자 Definition 템플릿 메소드 패턴(Template Method Pattern)은 알고리즘의 골격을 정의한다. 템플릿 메소드를 사용하면 알고리즘의 일부 단계를 서브클래스에서 구현할 수 있으며, 알고리즘의 구조는 그대로 유지하면서 알고리즘의 특정 단계를 서브클래스에서 재정의할 수도 있다. Behavioral Patterns Situation - 클라이언트가 알고리즘의 특정 단계만 확장하고 전체 알고리즘이나 해당 구조는 확장하지 않도록 할때 - 약간의 차이가 있지만 거의 동일한 알고리즘을 포함하는 여러 클래스들이 있는 경우 - 동일한 기능은 상위 클래스에서 정의하면서 확장/변화가 필요한 부분만 서브 클래스에서 구현 Structure Pros - 클라이언트가 대규모 알고리즘의 특정 부분만 재정의하도록 하여.. 2022. 7. 15.
300x250