Study, 삽질 공간
close
프로필 사진

Study, 삽질 공간

github: @leebs0521

  • 분류 전체보기 (9)
    • 잡담 (1)
    • OOP (4)
    • JAVA (2)
    • Algorithm (2)
  • 홈

팩토리 메서드(Factory Method)란?

팩토리 메서드란?0. 생성 패턴기존의 코드 유연성과 재사용성 증가시키는 다양한 객체 생성 메커니즘을 제공종류팩토리 메서드추상 팩토리빌더프로토 타입싱글톤1. 팩토리 메서드객체 생성을 서브클래스에 위임하는 디자인 패턴팩토리 메서드를 사용하여 객체를 생성생성될 객체의 클래스를 클라이언트 코드에서 직접 지정하지 않고 서브(구현) 클래스에서 지정2. 팩토리 메서드 예제 코드2.1 예제 코드 다이어그램2.2 문서 인터페이스 정의// 문서 인터페이스 정의interface Document { void open(); void save(); void close();}2.3 구체적인 문서 클래스class TextDocument implements Document { public void open() {..

  • format_list_bulleted OOP
  • · 2024. 7. 30.

디자인 패턴이란?

0. 디자인 패턴이란?소프트웨어 디자인 과정에서 자주 발생하는 문제들에 대한 전형적인 해결책코드에서 자주 반복되는 디자인 문제를 해결하기 위해 미리 만들어진 패턴1. 디자인 패턴 학습 이유소프트웨어 디자인의 일반적인 문제들에 대해 시도되고 검증된 해결책을 모은 것디자인 패턴을 배우게 되면 객체 지향 디자인의 원칙을 사용해 많은 종류의 문제를 해결 가능2. 디자인 패턴에 대한 비판약한 형식 프로그래밍 언어를 위한 클루지로 작동클루지(Kluge) : 세련되지 않지만, 효과적인 해결책예를 들어, 전략 패턴 → 간단한 익명(람다) 함수로 구현 가능비효율적인 해결책디자인 패턴을 신봉하여 프로젝트 맥락에 따라 적용하지 않고 문자 그대로 구현잘못된 사용디자인 패턴을 갓 공부하고 바로 적용하려고 함 → 더 간단한 코드..

  • format_list_bulleted OOP
  • · 2024. 7. 30.

Polymorphism (다형성)

Polymorphism (다형성)다형성은 이름 그대로 다양한 형태, 여러 형태를 뜻한다.보통 하나의 객체는 하나의 타입으로 고정되어 있다. 하지만 다형성을 사용하면 하나의 객체가 다른 타입으로 사용될 수 있다.다형성을 이해하기 위해서는 다음 두 가지 핵심 이론을 알아야 한다:다형적 참조메소드 오버라이딩참조, 다형적 참조와 오버라이딩중요 개념!! 부모는 자식을 품을 수 있다.Child 클래스가 Parent 클래스를 아래처럼 상속한다고 가정하자.class Parent { public void parentMethod() { System.out.println("Parent.parentMethod"); } public void printMe(){ System.out.pri..

  • format_list_bulleted JAVA
  • · 2024. 7. 24.
시간 복잡도(Time Complexity)와 공간 복잡도(Space Complexity)

시간 복잡도(Time Complexity)와 공간 복잡도(Space Complexity)

시간 복잡도(Time Complexity)와 공간 복잡도(Space Complexity)코딩 테스트 문제를 풀 때, 시간 제한과 메모리 제한이 있는 경우가 있다.예를 들어, 시간 제한 2초, 메모리 제한 128MB 등의 제한이 있을 수 있다.이런 경우 생각한 문제 풀이 방법이 시간 제한/메모리 제한을 통과 할 수 있는지 알수 있어야한다.따라서, 시간 복잡도와 공간 복잡도에 대해 정리하려 한다.시간 복잡도(Time Complexity)일반적으로, 1초 = 1억번 연산을 한다고 한다.따라서, 위 예시의 시간 제한 2초는 즉, 2억번 연산안에 끝나는 코드를 짜야한다고 이해할 수 있다.시간 복잡도란, 입력의 크기와 문제를 해결하는데 걸리는 시간의 상관 관계를 말한다.또한, 이러한 시간복잡도를 표현하기 위해 빅오..

  • format_list_bulleted Algorithm
  • · 2024. 7. 11.

정수 자료형과 실수 자료형

정수 자료형과 실수 자료형알고리즘 문제를 풀 때, 값의 표현 범위로 인해 틀릴 경우가 엄청 많다.예를 들어 int 타입 변수를 선언하고 팩토리얼 계산을 했을 경우public class Main { public static void main(String[] args) { int N = 13; int factorial = 1; for (int i = 1; i 실행 결과1! = 12! = 23! = 64! = 245! = 1206! = 7207! = 50408! = 403209! = 36288010! = 362880011! = 3991680012! = 47900160013! = 193205350412!까지는 정상적인 값이 출력되지만, 13!의 경우 int형의 최대 범..

  • format_list_bulleted Algorithm
  • · 2024. 7. 11.

SOLID

SOLID 5원칙SOLID 5원칙이란?객체지향 설계의 5대 원칙이라 부르는데 SRP(단일 책임 원칙), OCP(개방-폐쇄 원칙), LSP(리스코프 치환 원칙), ISP(인터페이스 분리 원칙), DIP(의존 역전 원칙)을 말하고 앞자를 따서 SOILD 원칙이라고 부른다.Single Responsibility Principle (단일 책임 원칙)Open/Closed Principle (개방 폐쇄 원칙)Liskov Substitution Principle (리스코프 치환 원칙)Interface Segregation Principle (인터페이스 분리 원칙)Dependency Inversion Principle (의존 역전 원칙)1. Single Responsibility Principle (단일 책임 원칙)모..

  • format_list_bulleted OOP
  • · 2024. 7. 1.
  • navigate_before
  • 1
  • 2
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (9)
    • 잡담 (1)
    • OOP (4)
    • JAVA (2)
    • Algorithm (2)
인기 글
전체 방문자
오늘
어제
Copyright © leebs0521 모든 권리 보유.
SKIN: Copyright © 쭈미로운 생활 All rights reserved. Designed by JJuum.
and Current skin "dev-roo" is modified by Jin.

티스토리툴바