본문 바로가기

cs10

[면접,CS] 객체지향 프로그래밍, SOLID 원칙 객체지향 용어 클래스 class 객체를 만들기 위한 설계도 객체 object class 라는 틀에서 생겨난 실체(instance) 실제 메모리에 할당된 물리적 실체 인스턴스 instance class 를 바탕으로 실체화된 객체 객체 지향 프로그래밍 특징 추상화(abstraction) cat, dog와 같은 class를 class pet()으로 비슷한 개념을 묶어서 정의하는 것 공통 속성과 행위를 추출하는 것 캡슐화(encapsulation) 객체, 즉 클래스의 내부 변수와 메소드를 하나로 패키징 하는 특징 상속성(inheritance) 자식 클래스가 부모 클래스의 특성과 기능을 물려받는 것 다형성(polymorphism) 같은 메서드를 자식에서 재정의 하는것 say hi()라는 메서드를 한국인과 이탈리아.. 2023. 1. 5.
[면접,CS] 함수형 프로그래밍 함수형 프로그래밍 코드 작성 스타일 선언형 코드 결과값을 선언하는 것 filter 등으로 선언형 코드를 사용할 수 있음. ex) CSS 명령형 코드 결과값에 “어떻게” 도달하느냐에 관한 것 Javascript 는 명령형 코드 함수형 프로그래밍의 특징 순수 함수(Pure Function) 함수에서 외부의 상태값을 참조하거나 외부의 상태를 변경하는 것은 순수 함수가 아니다. 동일한 인자를 넣었을때 항상 동일한 결과를 리턴해야 한다. 비상태, 불변성 (Stateless, Immutability) 비상태, 불변성을 유지해야한다. // 틀린 코드 let person = {name : "mocha",age:28}; function increaseAge(person){ person.age = person.age +1.. 2023. 1. 5.
[면접,CS] 아키텍처 패턴 부스트캠프에서 처음 공부를 시작할때 캠퍼들이 언급하는 단어 중 가장 많이 들은 것은 MVC 패턴이었다. 그때 나는 MVC패턴이 뭔지 왜 필요한지 몰라서 혼자 찾아보면서 공부했던 기억이 있다. 이번에 아키텍처 패턴과 프론트엔드에서의 아키텍처 흐름에 대해서 알아보자 아키텍처란? 아키텍처라는 말은 설명하기 어렵다. 사전적 의미로는 시스템 구성 및 동작원리를 나타내는 것이다. 하지만, 이러한 설명은 이해가 잘 안된다. 여러가지 자료를 찾던 중 이 자료를 보고 한번에 이해할 수 있었다. 프론트엔드에서 MV* 아키텍쳐란 무엇인가요? MVC, MVVM, MVI 아키텍쳐가 어쩌고 저쩌고... 소프트웨어를 공부하다 보면 한번쯤은 MV__로 시작되는 아키텍쳐라는 용어를 들어본적이 있을 겁니다. 실제로 프로그래밍을 할 때에.. 2023. 1. 5.
[면접,CS] 의존성주입(DI) DI? DI는 Dependency Injection의 줄임말로 의존관계 주입이라고 한다. Dependenct 의존관계란? “A가 B를 의존한다” 라는 표현은 B가 변하면 A에 영향을 미친다는 의미이다. 예를 들자면 피자가게에서 피자를 만드는 레시피가 있다. 요리사는 피자 레시피에 의존한다. 라고 할때 레시피가 변경되면 요리사는 만드는 방법을 바꿔야하기 때문에 요리사는 레시피에 의존한다 라고 할수 있다. 의존성 주입이란? 의존성 주입은 의존관계를 외부에서 결정하고 주입하는 것이 DI(의존성 주입)이다. 이러한 외부모듈을 의존성 주입자(dependency injector)라고 한다. 위 예시를 통해 설명하자면, 요리사가 직접 피자 레시피를 고르는 것이 아니라 가게의 사장님이 레시피를 정해서 요리사에게 주는 .. 2023. 1. 5.