- [디자인 패턴] 10. 전략패턴 예제: UTF-8 인코딩/디코딩Song hyun[디자인 패턴] 10. 전략패턴 예제: UTF-8 인코딩/디코딩 -전략 패턴을 사용해 인코딩/디코딩 메서드를 만들어보자.package strategy;import java.util.Base64;import java.io.UnsupportedEncodingException;import java.net.URLDecoder;import java.net.URLEncoder;public class StrategyTest { public static void main(String[] args) { // 클라이언트 측 코드 String message = "테스트문자열"; // 1. 텍스트를 인코딩 하는 클래스를 메모리에 올린다. ..
- 2024-09-27 10:53:02
- [디자인 패턴] 10. 전략 패턴Song hyun[디자인 패턴] 10. 전략 패턴 1. 전략 패턴이란?(1) 전략 패턴의 개념-전략 패턴(Strategy Pattern)은 동작 방식을 캡슐화해, 동적으로 전략을 변경할 수 있도록 하는 디자인 패턴이다.-특정 기능을 수행할 여러 방법이 있을 때, 그 방법들을 전략으로 정의하고, 필요에 따라 적절한 전략을 사용할 수 있다. (2) 전략 패턴의 활용 사례-암호화/인코딩 알고리즘 : 암호화/인코딩 방식 중 동적으로 선택할 수 있게 해준다.-게임 개발 : 캐릭터의 동적인 행동 변경 구현-결제 처리 시스템 : 결제 방식을 동적으로 선택할 수 있는 시스템 2. 시나리오 코드// Source code is decompiled from a .class file using FernFlower decompiler.pa..
- 2024-09-27 09:39:25
- [디자인 패턴] 9. 어댑터 패턴Song hyun[디자인 패턴] 9. 어댑터 패턴 1. 어댑터 패턴이란?-어댑터 패턴(Adapter Pattern)은 호환되지 않는 인터페이스를 가진 클래스들을 함께 동작할 수 있도록 변환해주는 디자인 패턴이다.=> 즉, 기존 클래스의 인터페이스가 요구사항과 맞지 않을 때, 새로운 인터페이스를 기존 클래스에 맞추어주는 역할!=> 이를 통해 호환성 문제를 해결하고, 새로운 코드와 결합할 수 있다!=> 정리: 어댑터 패턴은 서로 다른 인터페이스를 가진 객체들이 함께 동작할 수 있도록 변환해주는 패턴이다!! 2. 시나리오 코드(1) MyHouse.javapackage adapter;public class MyHouse { // 정적 메서드 (기능) // 집에 220V 전기 콘센트를 연결하는 메서드 publ..
- 2024-09-26 11:06:15
- [디자인 패턴] 8. 팩토리 패턴Song hyun[디자인 패턴] 8. 팩토리 패턴 1. 팩토리 패턴이란?-팩토리 패턴(Factory Pattern)은 객체 생성 로직을 감추고, 사용자가 어떤 객체를 생성할지 결정하면 내부적으로 그 객체를 생성하는 패턴이다. -ex: 음료를 마시고 싶을 때, 우리는 음료 자판기에 돈을 넣고 버튼만 누르면 음료가 나온다.=> 팩토리 패턴의 핵심은 객체 생성 과정이 클라이언트 코드로부터 분리되어, 클라이언트는 요청만 / 생성 과정은 팩토리 (자판기)에서 담당하는 것이다! 2. 시나리오 코드 : 게임 캐릭터 만들기 (1) CharacterFactory.javapackage Factory;import java.util.Scanner;// 팩토리 패턴을 사용하는 클라이언트 측 코드이다.public class Game { ..
- 2024-09-26 10:18:50
- [디자인 패턴] 7. 빌더 패턴 예제: 마라탕 주문하기Song hyun[디자인 패턴] 7. 빌더 패턴 예제: 마라탕 주문하기 빌더 패턴을 사용해 마라탕을 주문해보자. 1. Maratang.classpackage builder;import builder.Burger.BurgerBuilder;public class Maratang { private String meat; private String noodle; private boolean vegetables; private boolean mushrooms; private Maratang(MaratangBuilder builder){ this.meat = builder.meat; this.noodle = builder.noodle; this.vegetables ..
- 2024-09-26 09:56:53
- [디자인 패턴] 7. 빌더 패턴Song hyun[디자인 패턴] 7. 빌더 패턴 1. 빌더 패턴이란?-빌더 패턴은 복잡한 객체를 단계적으로 생성할 수 있도록 도와주는 디자인 패턴이다.-특히 많은 옵션이나 매개변수를 가진 객체를 만들 때 유용하다. -일반적인 생성자는 매개변수가 많아지면 복잡해지기 때문에, 빌저 패턴은 각 단계에서 선택적인 매개변수를 추가할 수 있게 해준다. 2. 햄버거와 빌더 패턴-햄버거를 주문할 때, 특정 업체에서는 다양한 재료 중에서 자신만의 햄버거를 만들 수 있다.-필수적인 패티, 빵을 고른 뒤 선택적인 토핑들을 고를 수 있다.=> 빌더 패턴의 구조와 비슷하다. (1) 필수 요소: 반드시 있어야 하는 필수 요소는 생성자를 통해 전달받는다.(2) 선택 요소: 필수적이지는 않지만, 고객이 원할 경우 추가할 수 있는 요소들을 선택 ..
- 2024-09-26 09:29:50
- [디자인 패턴] 6. 싱글톤 패턴 복습하기Song hyun[디자인 패턴] 6. 싱글톤 패턴 복습하기 1. 싱글톤 패턴의 개념: 싱글톤 패턴은 특정 클래스의 인스턴스를 하나만 생성하고, 이를 전역적으로 접근할 수 있도록 하는 디자인 패턴이다.-주요 목적은 시스템 전체에서 공통된 리소스를 공유하거나, 객체 생성을 제한하여 메모리 낭비를 줄이기 위함이다. 2. 시나리오 코드 : 싱글톤 패턴 구현해보기(1) singleton.javapackage singleton;// 1. 정적 변수를 선언한다.// 2. private 생성자를 선언한다.// 3. 외부에서 접근할 수 있는 public 정적 메서드를 선언한다.public class singleton { // 1. 유일한 인스턴스를 저장할 변수를 선언한다.(private,static) // 많은 개발자들이 싱..
- 2024-09-25 16:17:43
- [디자인 패턴] 5. 콜백 메서드Song hyun[디자인 패턴] 5. 콜백 메서드 1. 콜백 메서드란?(1) 콜백 메서드 개념: 콜백 메서드는 특정한 작업이 완료되었을 때, 또는 특정 이벤트가 발생했을 때 호출되는 메서드이다. (2) 콜백 메서드의 특징:-콜백 메서드는 주로 비동기 작업, 이벤트 기반 시스템에서 사용된다.-콜백 메서드를 활용하면 동작을 정의하고, 나중에 실행할 수 있기 때문에 프로그램이 더 유연해지고 모듈화될 수 있다! 2. 시나리오 코드 : 버튼 클릭 이벤트 처리 (1) Button.javapackage ch01;// 콜백 메서드 만들어보기// 인터페이스 만들기/** * 버튼 클릭 이벤트 인터페이스 (콜백 메서드 정의) */interface IButtonListener{ void clickEvent(String event)..
- 2024-09-25 15:21:51
- [디자인 패턴] 4. 디자인 패턴이란?Song hyun[디자인 패턴] 4. 디자인 패턴이란? 1. 디자인 패턴이란?: 디자인 패턴은 소프트웨어 개발에서 자주 반복되는 문제들을 해결하기 위해 만들어진 재사용 가능한 코드 설계 방법이다.=> 즉, SW 설계 시 발생할 수 있는 문제들을 효율적으로 해결하기 위한 설계의 모범 사례이다! (1) 장점-개발자간의 원활한 소통-SW 구조 파악 용이-재사용을 통한 개발 시간 단축-설계 변경 요청에 대한 유연한 대처 (2) 단점-객체지향 설계에 대한 깊은 이해도가 필요-간단한 문제에 대해 디자인 패턴을 적용하는 것이 더 복잡하고 비효율적일 수도...-모든 문제에 대해 디자인 패턴을 적용하는 것은 적절하지 않음 2. 디자인 패턴의 분류-디자인 패턴은 크게 생성, 구조, 행동으로 나뉜다. (1) 생성 패턴 (Creationa..
- 2024-09-25 14:40:10
- [디자인 패턴] 3. S.O.L.I.D 원칙Song hyun[디자인 패턴] 3. S.O.L.I.D 원칙 1. S.O.L.I.D 원칙이란?-S.O.L.I.D 원칙은 로버트 C. 마틴이 발표한 객체 지향 프로그래밍 설계 원칙이다. 즉, SOLID 원칙은 객체 지향 설계의 5가지 중요한 원칙을 뜻한다.-SOLID 원칙은 코드의 유지보수성과 확장성을 높이기 위해, 설계 과정에서 따르는 지침이다! 2. S.O.L.I.D 원칙(1) 단일 책임 원칙 (Single Responsibility Principle, SRP)-클래스는 하나의 책임만 가져야 한다. -하나의 책임이란 클래스가 변경되어야 하는 이유가 하나뿐이어야한다는 뜻!=>SRP를 준수하기 위해서는 DB와의 상호작용을 다른 클래스로 분리하고, 그 클래스를 통해 상호작용해야한다. 이렇게 하면 사용자 관리와 데이터 저장의..
- 2024-09-25 14:14:52
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)