1.1.6 ~ 1.1.8 이터레이터/노출모듈/MVC 패턴

2026. 1. 23. 19:42·Study/면접을 위한 CS 전공지식 노트
반응형

 

이터레이터 패턴

  • 이터레이터(iterator)를 사용하여 컬렉션(collection)의 요소들에 접근하는 패턴
  • 순회할 수 있는 여러가지 자료형의 구조와는 상관없이 이터레이터라는 하나의 인터페이스로 순회가 가능함

노출모듈 패턴

  • 즉시실행함수를 통해 private, public 같은 접근제어자를 만드는 패턴
  • 주로 접근제어자가 존재하지 않는 자바스크립트 등에서 사용됨
    • 자바스크립트에서 캡슐화와 모듈화를 가능하게 함.

MVC패턴

  • 모델(Model), 뷰(View), 컨트롤러(Controller)로 이루어진 디자인 패턴
  • 애플리케이션 구성요소를 3가지로 나눠 각각의 요소에 집중해 개발할 수 있다.
  • 재사용성과 확장성이 용이하지만, 복잡해질수록 모델과 뷰의 관계도 복잡해진다는 단점이 있음.
  • 자바의 스프링이 존재

모델

  • 애플리케이션의 데이터인 데이터베이스, 상수, 변수등을 뜻함
  • 예를들면 사각형모양의 박스안에 글자가 있을 때, 박스의 위치정보, 글자내용 등이 속함
  • 뷰에서 데이터를 생성하거나 수정하면 컨트롤러를 통해 모델을 새엇ㅇ하거나 갱신함

뷰

  • 모델을 기반으로 사용자가 볼 수 있는 인터페이스 요소를 뜻함.
  • 모델이 가지고 있는 정보를 따로 저장하지 않아야 함
  • 단순히 화면에 표시하는 정보만 가지고 있어야 함

컨트롤러

  • 하나 이상의 모델과 하나 이상의 뷰를 잇는 다리역할을 하며 이벤트 등 메인 로직을 담당함
  • 모델과 뷰의 생명주기도 관리함

용어

이터레이터 프로토콜

  • 이터러블한 객체들을 순회할 때 쓰이는 규칙

이터러블한 객체

  • 반복가능한 객체로 배열을 일반화한 객체

public

  • 클래스에 정의된 함수에서 접근가능하며 자식 클래스와 외부 클래스에서 접근 가능한 범위

protected

  • 클래스에 정의된 함수에서 접근 가능, 자식 클래스에서 접근 가능하지만 외부 클래스에서 접근 불가능한 범위

private

  • 클래스에 정의된 함수에서 접근 가능하지만 자식 클래스와 외부 클래스에서 접근 불가능한 범위

즉시실행함수

  • 함수를 실행하자마자 바로 호출하는 함수
  • 초기화코드, 라이브러리내 전역 변수의 충돌방지등에 사용

틀린 부분이 있거나 인용한 부분에 대해 문제가 있을 시
댓글로 알려주시면 감사하겠습니다.
반응형

'Study > 면접을 위한 CS 전공지식 노트' 카테고리의 다른 글

1.2.1 ~ 1.2.4 선언형과 함수형, 객체지향, 절차형 프로그래밍& 패러다임의 혼합  (0) 2026.05.03
1.1.9 ~ 1.1.10 MVP 패턴/MVVM 패턴  (0) 2026.05.03
1.1.3~1.1.5 전략/옵저버/프록시 패턴과 프록시 서버  (0) 2026.01.21
1.1.2 팩토리패턴  (0) 2026.01.05
1.1.1 싱글톤 패턴  (0) 2026.01.05
'Study/면접을 위한 CS 전공지식 노트' 카테고리의 다른 글
  • 1.2.1 ~ 1.2.4 선언형과 함수형, 객체지향, 절차형 프로그래밍& 패러다임의 혼합
  • 1.1.9 ~ 1.1.10 MVP 패턴/MVVM 패턴
  • 1.1.3~1.1.5 전략/옵저버/프록시 패턴과 프록시 서버
  • 1.1.2 팩토리패턴
wwwjong
wwwjong
wwwjong 님의 블로그 입니다.
  • wwwjong
    wwwjong 님의 블로그
    wwwjong
  • 전체
    오늘
    어제
    • 분류 전체보기 (42) N
      • Programming (12) N
        • 트러블슈팅 (3)
        • Dev notes (9) N
      • CS (2)
        • Infra (2)
      • 개발환경 (6)
        • Ubuntu (6)
      • Algorithms (15)
        • 백준 (8)
        • Algorithm (3)
        • 코드트리 (3)
        • Programmers (1)
      • Study (6)
        • 면접을 위한 CS 전공지식 노트 (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    docker
    Jenkins
    Nginx
    딥러닝
    docker compose
    computer science
    ubuntu
    코테공부
    트랜스포머
    skala
    코딩테스트
    백준
    LLM
    Server
    AI
    면접을 위한 CS 전공지식 노트
    ubuntu server
    CS
    transformer
    코드트리
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.1
wwwjong
1.1.6 ~ 1.1.8 이터레이터/노출모듈/MVC 패턴
상단으로

티스토리툴바