현뚱
Bronze개인인증
팔로워0 팔로우
소개
등록된 소개글이 없습니다.
전문분야 프로그램소스
판매자 정보
학교정보
입력된 정보가 없습니다.
직장정보
입력된 정보가 없습니다.
자격증
  • 입력된 정보가 없습니다.
판매지수
전체자료 3
검색어 입력폼
  • strategy pattern (main.cpp)
    "strategy pattern (main.cpp)"에 대한 내용입니다.
    프로그램소스| 2020.12.31| 무료| 조회(147)
    미리보기
  • 객체지향설계 strategy pattern 이용해서 스타버즈 커피 예제구현 보고서(소스코드 제공)
    사용된 디자인 패턴: Strategy Pattern전쟁에서 이기려면 전략이 필요합니다. 전략은 수십 수백가지가 존재하며 이 전략들의 목표는 승리입니다. 전략 패턴도 마찬가지로 어떠한 문제를 해결하기 위해서 전략이 여러 가지 쓰일 수 있습니다. 전략 패턴은 정책(policy)패턴 이라고도 부르는데, 객체 내부에서 해결해야하는 목적을 알고리즘객체로 분리해서 적용하는 기법입니다. 실제 내부의 동작을 외부 알고리즘 객체로 분리해서 유연하게 동작을 변경 시킬 수 있습니다. 외부 알고리즘 객체로 처리 로직을 분리하면 향후에 코드 확장이 용이해지고, 동작객체와 알고리즘 객체간의 관계를 구성하며, 분리된 알고리즘 코드를 언제든지 수정할 수 있습니다. 일반적인 코드에서 알고리즘을 수정하는 것은 어려운데 전략패턴에서는 독립된 객체로 관리하기 때문에 관리가 쉽고, 변화하는 부분을 관리하려면 구조를 유지해야하는데 이 구조는 인터페이스를 이용해서 설계 합니다. 이 인터페이스에서 추상 메서드를 활용하는 이유는 상위구조에 맞춰서 개발하고 변하는 부분만 분리 결합하기 위해서입니다. 패턴화로 분리된 알고리즘 객체는 전략 객체의 외부로부터 전달받아 관계를 설정하는데 이를 의존성 주입이라고합니다. 전략객체는 외부의 의존성을 매개변수 인자로 받고, 전략패턴은 위임을 통해서 느슨한 결합을 처리합니다. 매개 변수를 통해서 의존성 주입하면 전략객체를 생성하는 단계에서 관계를 설정하거나 재설정 할 수 있습니다. 또한 프로그램이 실행되는 도중에도 알고리즘을 쉽게 교체할 수 있습니다. 이를 위해서는 setter메서드를 구현해야합니다.정리하자면, 객체는 상태와 행동을 갖고있는데, 전략 패턴에서는 행동을 여러 알고리즘으로 객체를 분리하고, 선택한 알고리즘 객체만 실행해서 전술을 실행합니다. 전략 패턴은 동적으로 알고리즘을 변경할 수 있고, 행동변경시에 조건문을 사용하지않고, 알고리즘 캡슐화를 통해 조건문 없이 원하는 행동으로 교체합니다.
    공학/기술| 2020.12.31| 9페이지| 1,000원| 조회(131)
    미리보기
  • 컴퓨터의 역사(간단하게) 컴퓨터는 무엇인지.왜 발명이 되었는지. 왜중요한지. (과제)
    주제: 컴퓨터내가 생각하는 역사 속에서 중요하다고 생각하는 발명품은 컴퓨터이다. 얼마 전에 이미테이션 게임(The Imitation Game)이라는 영화를 보면서 컴퓨터의 필요성과 컴퓨터가 인류를 얼마나 위대하게 만들었는가에 대해 생각해 보게되었다. 인류를 위대하게 만든 컴퓨터는 무엇일까? 컴퓨터의 사전적 정의는 다음과 같다. 컴퓨터는 진공관, 트랜지스터 등의 전자회로를 이용하여 프로그램과 정보를 전차적 형태(electronic form)로 저장하고 빠르게 계산하고 입력된 데이터를 정해진 프로그래밍에 따라 처리하는 전자기기이다. 이말은 자동으로 연산을 수행하는 전자적 장치라는 말이다. 사전적 정의는 이와 같지만, 현재 컴퓨터는 가르키는 범위가 매우 넓기 때문에 이전의 컴퓨터와 현재의 컴퓨터, 그리고 미래의 컴퓨터를 쉽게 설명하기는 어렵다. 더 의미있는 질문은 ‘컴퓨터의 종류에는 어떤 것들이 있는가?’아니면 ‘현재의 컴퓨터의 성능과 특별한 기능은 무엇인가?’일 것이다. 컴퓨터가 자동으로 연산을 수행이 가능해 졌다는 것은 사람이 일을 안해도 컴퓨터가 자동으로 일을 해줄 수 있다는 말이기에, 위대한 발명품이라고 생각한다. 결과론적으로는 현재 컴퓨터가 세상을 지배하고 있으니, 위대하다고 생각 할 수 있지만, 내가 생각하는 요점은 자동화이다. 컴퓨터가 존재하지 않을 때는 당연히 사람이 모든 계산, 알고리즘을 다 풀었다. 사람들은 더 편리해지기 위해 발명하고 개발한다. 옛날에도 그랬을 것이다. 숫자가 많은 계산은 하기 힘들기 때문에 1623년 독일의 학자 빌헬름 시카르트는 6자리 숫자의 덧셈과 뺄셈을 수행할 수 있는 최초의 기계식 계산기를 발명했다. 점차 계산기도 발전하고, 1936년에는 영국의 수학자 앨런 튜링이 튜링기계라는 수학적 개념을 고안하여 알고리즘 계산에 대한 이론적 기초를 정립했다. 수학적 계산이 점차 완벽해지고, 계산기들이 점차 디지털로 발전함에 따라 최초의 전자/기계식 컴퓨터인 Z3가 개발됬다. 이 컴퓨터는 2차 대전 당시에 쓰였기 때문에 1970년대까지 일반인들에게는 알려지지 않았다. 이러한 이유로 1946년에 미국에서 개발된 에니악(ENIAC)은 오랫동안 최초의 프로그래밍 가능한 범용 컴퓨터로 알려져있었다. 한편 1945년에 미국의 컴퓨터 과학자 존 폰 노이만은 프로그램을 기억장치에 내장하는 방식의 컴퓨터를 제안했고 그의 제안으로 최초의 프로그램 내장방식과 이진법을 채택한 디지털 컴퓨터가 만들어졌다. 1970년대 말부터는 개인용 컴퓨터가 보편화 되었고, 1990년 이후로는 18개월에서 24개월을 주기로 성능이 두 배씩 향상되는 폭발적인 발전이 있었다. 언급했다시피, 컴퓨터가 중요한 이유는 자동화이다. 자동화가 가능하면 인류의 생산력이 폭발적으로 늘어난다. 예를 들어, 농업에서 트랙터가 존재 했을 때와 손으로 밭을 갈았을 때를 생각하면 좋을 것 같다. 트랙터가 나오니 손으로 밭을 가는 농부는 거의 없다. 괜히 힘들게 손으로 할 이유가 없기 때문이다. 트랙터로 인해 농산물의 생산량이 폭발적으로 증가했다. 컴퓨터도 마찬가지이다. 자료 저장, 자료 생산에 있어서 이제 도서관을 갈 필요가 없다. 인터넷이 있고, 인터넷은 전 세계와 연결되어있다. 아주 옛날에 글을 쓰다가 글이 길어져서 책이 되었을 것이고 책들이 많아져서 관리하기 힘들어지니까 도서관이 나왔을 것이다. 컴퓨터는 앞의 과정에 공간적 제약이 따르지 않는다. 컴퓨터는 파일이 많아지면 폴더가 있고 폴더를 여러 개 나눔으로써 공간을 구분할 수 있다. 또한 도서관에서 알파벳 순으로 책을 찾을 필요 없이 컴퓨터는 검색으로 끝난다. 옛날 인류가 도서관까지 오는 과정을 컴퓨터는 단 몇백년만에 끝냈다. 이것만큼 위대한 발명은 있을 수 없다고 생각한다.
    공학/기술| 2020.10.27| 2페이지| 1,000원| 조회(199)
    미리보기
전체보기
해캠 AI 챗봇과 대화하기
챗봇으로 간편하게 상담해보세요.
2026년 05월 23일 토요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
7:38 오후
문서 초안을 생성해주는 EasyAI
안녕하세요 해피캠퍼스의 20년의 운영 노하우를 이용하여 당신만의 초안을 만들어주는 EasyAI 입니다.
저는 아래와 같이 작업을 도와드립니다.
- 주제만 입력하면 AI가 방대한 정보를 재가공하여, 최적의 목차와 내용을 자동으로 만들어 드립니다.
- 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
- 스토어에서 무료 이용권를 계정별로 1회 발급 받을 수 있습니다. 지금 바로 체험해 보세요!
이런 주제들을 입력해 보세요.
- 유아에게 적합한 문학작품의 기준과 특성
- 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
- 작별인사 독후감