본문 바로가기
반응형

전체 글89

[Interview] 신입 면접때 자주 나왔던 실무 질문 모음 1. 객체지향 이란 - oop (object oriented programming) 객체: 역할을 같고있는 것 캡슐화- 접근제한자를 사용하여 외부로부터 접근을 제한하여 객체내에서만 접근 가능하도록 다형성- 하나의 타입에 여러 객체를 대입할 수 있는 성질. 상속성- 부모의 속성과 기능을 이어받아서 사용하는것. 추상화- 공통된 속성과 행위를 추출하는 것. 문제를 여러개의 단위로 나눠서 작업하는 방식. 프로그램을 유연하고 변경하기 쉽게 만듭니다. 코드 재사용성이 용이함. 2. 클래스 패스- 클래스를 찾기위한 경로, JVM이 프로그램을 실행할때 클래스 파일을 찾는데 기준이 되는 파일경로 클래스 로더- 자바의 class들을 jvm으로 로딩하는 역할을 합니다. 3. 웹(WEB)/와스(WAS)의 차이점 웹은 클라이언.. 2021. 11. 17.
[Design Pattern] Bridge Pattern 이번엔 브릿지 패턴! 힘내..! 아직 할께 많아...! 하핳하하하하하ㅏ.... Bridge Pattern? Bridge는 다리라는 뜻! 위 그림과 같이 떨어져있는 두 장소를 이어주는 역할을 한다! Bridge Pattern도 두 장소를 연결하는 역할을 한다! 기능 클래스 계층 ll ================== ll 구현 클래스 계층 구현부(Implementation)에서 추상층(abstraction)을 분리하여 각자 독립적으로 변형이 가능하고 확장이 가능하도록하는 패턴! 기능 클래스 계층과 구현 클래스 계층을 연결해주는 패턴 A라는 상위 클래스를 상속 받는 B라는 하위 클래스에서 새로운 기능을 추가하는 계층 A라는 인터페이스(API)를 구현한 B라는 객체가 존재할 때 구현 클래스 계층이라고 말한다... 2021. 11. 16.
[Design Pattern] Decorator Pattern 어제도 열심히 했고 오늘도 열심히 하기 위해서 너어어어어무 놀고싶고 쉬고싶지만 공부를 하기 위해서 컴퓨터에 앉았다 너무 기특해 림아 너모 기특해~ Decorator Pattern? 클래스의 코드를 전혀 바꾸지 않고도 객체에 새로운 임무를 부여하기 위해서 등장했다! 객체의 결합을 통해 기능을 동적으로 유연하게 확장 할 수 있게 해주는 패턴! 상속(Inheritance)과 합성(Composition)을 사용하여 객체에 동적으로 책임을 추가할 수 있게 하는 패턴! 주어진 상황 및 용도에 따라 어떤 객체에 책임을 덧붙이는 패턴! [사용 목적] 기존 객체들에게 영향을 주지 않고 개별 객체에 기능들을 추가하고 싶을때 사용! 추가한 기능들은 언제든지 없앨 수 있다! => 없어져도 기존 객체들이 영향을 받지 않는다구!.. 2021. 11. 16.
[MongoDB] 안녕? MongoDB 아... mongoDB도 해야해... 졸려.. 그치만.. 힘내하는걸..? 숙제 밀렸어... MongoDB를 배우기 앞서... SQL과 NoSQL의 차이점좀 알고 가자! SQL (Structured Query Language)은 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이다. 많은 수의 데이터베이스 관련 프로그램들이 SQL을 표준으로 채택하고 있다. 정해진 데이터 스키마에 따라 테이블에 저장된다! 테이터는 관계를 통해 여러 테이블에 분산된다! NoSQL (Non SQL or Non Relational) 데이터베이스는 전통적인 관계형 데이터베이스 보다 덜 제한적인 일관성 모델을 이용하는 데이터의 저장 및 검색을 위한 매커니즘을 제공한다. NoSQ.. 2021. 11. 11.
[Design Pattern] Facade Pattern 사실 오늘 공부할 패턴은 처음 들어보는 패턴이야... 그래서 뭔지 감도 안잡혀... 개념 정리부터 무슨 말인지 잘몰라서 제일 이해된 정의를 가져와땅! Facade Pattern? Facade는 프랑스어에서 유래된 단어로 건물의 외관이라는 뜻을 가지고있음! 건물의 외벽에서 보면 안의 구조는 보이지 않는다! (오~ 이 한줄로 얼추 개념을 이해했어) 라이브러리, 프레임워크, 혹은 복잡한 클래스들의 집합에 대한 단순화된 인터페이스를 제공하는 디자인 패턴이다! 복잡하고 많은 Subsystem(내부구조)을 거대한 클래스(외벽)로 만들어 감싸서 편리한 인터페이스를 제공해준다! (서브시스템이..뭐야..?) [구조] Facade (외벽) 어떤 Subsystem 클래스가 클라이언트의 요청에 응답해야 하는지 알고있다. 클라.. 2021. 11. 11.
[Spring] DI (Dependency Injection) 오늘은 Spring책으로 공부해봤다! Dependency Injection은 의존 주입 이라고 한다. 의존 주입이 뭔지 함께 알아보자! Dependency (의존) 이란?? 한 클래스가 다른 클래스의 메서드를 실행할 때 이를 의존한다고 표현한다. import java.time.LocalDateTime; public class MemberRegisterService { private MemberDao memberDao = new MemberDao(); public void regist(RegisterRequest req) { // 이메일로 회원 데이터 조회 Member member = memberDao.selectByEmail(req.getEmail()); if (member != null) { // 같은.. 2021. 11. 11.
[Design Pattern] Adapter Pattern 아~ 수많은 디자인 패턴중에 드디어 궁금했던 어댑터 패턴을 공부한다 곰부해보고싶은 패턴은 많은데 패턴이 느므 많자나~ Adapter Pattern? 보통 우리가 해외 여행 갈때 볼트 변환기 같은 것들을 어댑터라고 표현한다. 이같이 Adapter Pattern은 클래스의 인터페이스를 사용자가 기대하는 인터페이스 형태로 변환시키는 패턴이다. [장점] 관계가 없는 인터페이스 간 같이 사용이 가능하다. 프로그램 검사가 용이하다. 클래스 재활용성이 증가한다. [구조] Target Client가 직접적으로 사용하려고 하는 인터페이스를 정의한다. (Adaptee가 지원하길 바라는 인터페이스를 의미!) Adaptee (개조되는 역할) Adapter에서 사용하고자 하는 인터페이스를 정의하고 있다. Adapter Targ.. 2021. 11. 10.
[Design Pattern] Builder Pattern 아~ 패턴 왜이렇게 많아 솔직히 만드신분도 다 못외울꺼같아~ Builder Pattern? 복잡한 객체를 생성하는 클래스 와 표현하는 클래스를 분리하는 것! 동일한 절차에서도 서로 다른 표현을 생성하는 방법을 제공! 다시 말해서 객체의 생성 단계들을 캡슐화 하여 객체의 생성을 유연하게 해주는 패턴! 객체의 생성과정과 객체의 표현 방법을 분리! [구조] Builder(건축자)의 역할 인스턴스 생성을 위한 인터페이스(API)를 선언! ConcreteBuilder(구체적인 건축자)의 역할 Builder 인터페이스를 구현하는 역할 Director(감독자)의 역할 Builder 인터페이스(API)를 사용해 인스턴스를 사용 Product(제품)의 역할 만들어질 제품의 속성과 기능을 가짐 [구현] // 제품을 필드로.. 2021. 11. 9.
[Design Pattern] Flyweight Pattern 오늘은 재택근무를 해서 블로그 공부를 할 시간이 됐다! 디자인 패턴을 집중적으로 공부해보자~ Flyweight Pattern? 어떤 클래스의 인스턴스 한 개만 가지고 여러 개의 "가상 인스턴스"를 제공하고 싶을 때 사용하는 패턴이다! 비용이 큰 자원을 공통으로 사용할 수 있도록 만드는 패턴이다! 궁극적으로 객체를 가볍게 하기 위한 것이라구~! [핵심] 객체를 가능한 대로 공유시켜서 쓸떼없이 new하지 않도록 하는 것이 목표! 객체가 필요할 때 맨날 new 하는게 아니라, 이미 만들어져 있는 인스턴스(객체)를 이용할 수 있으면 그걸 공유하기 [구조] Flyweight의 역할 공유에 사용할 클래스들의 인터페이스(API) 다시 말해서 프로그램을 가볍게 하기 위한 역할을 함! ConcreteFlyweight(구.. 2021. 11. 9.
반응형