메뉴 건너뛰기

2017.02.27 13:12

프로시져, 객체지향

(*.168.0.1) 조회 수 453 추천 수 0 댓글 0
Extra Form

 1. 객체가뭔지?

    (가지고있는 속성

 

2.이벤트 기반의 프로그래밍이란?

 

3. 콘솔 프로그램과 Window 프로그앰의차이

 

4. 변수선언방법

답변 1개
니바리님의 프로필 이미지

니바리님의 답변

초인채택답변수905
활동분야베이직
질문자 채택
질문자인사답변 내용이 많은 도움 되었습니다.

<H3>[1]. 객체란?</H3>


<P>객체(Objects) 는 객체지향(Oriented-Object) 기술을 이해하기 위한 핵심 개념이다. 주위를 둘러보면 실제 세계의 객체들을 많이 찾아 볼 수 있다. 주로 강아지, 책상, 텔레비전, 자전거 등과 같은 것 들이다. </P>
<P>&nbsp;</P>
<P>이러한 실세계의 객체들은 두가지 특징을 가지고 있는데 바로 상태(State) 와 행동(Behavior) 을 가진다는 것이다. 예를 들어, 강아지는 이름, 색, 품종, 배고파함 등의 상태를 가지고 있으며, 짖다, 물어오다(Fetching), 꼬리를 흔들다 등의 행동들을 가지고 있다. 또 다른 예로 자전거라는 객체는 현재 기어, 현재 패달의 회전 속도, 바퀴 갯수, 기어의 단계수 등의 상태와 멈추다, 가속하다, 천천히 감속하다, 기어를 바꾸다 등의 행동을 가지고 있다.</P>
<P>&nbsp;</P>
<P>소프트웨어 객체는 실세계 객체를 바탕으로 모델링되어 진다. 소프트웨어 객체는 상태를 나타내기 위해 한개나 그 이상의 변수(Variables)들을 사용하며 행동들은 메서드(Method)로 표현된다. 메서드들을 다른 말로 하면 객체와 관련된 함수(서브루틴)라고 할 수 있다.</P>
<P>&nbsp;</P>
<P><STRONG><FONT color=#99cc66>(정의) 객체란 변수들과 그와 관련된 메서드들이 모여서 이룬 하나의 꾸러미이다.</FONT></STRONG></P>
<P>&nbsp;</P>
<P>실세계 객체들은 소프트웨어 객체를 통해 표현되어질 수 있다. 혹여 누군가는 실제 강아지를 애니매이션 프로그램에서 사용하기 위해 소프트웨어 객체로 표현하거나, 실제 자전거를 운동을 위한 전자식 자전거 시스템에서 사용할 소프트웨어 객체로 표현하고 싶어 할지도 모른다. 그리고 실제 존재하지 않는 추상적인 객체들도 소프트웨어 객체로 사용할 수 있다. 예를 들어 이벤트(Event)는 GUI(Graphic User Interface) 윈도우 시스템에서 사용자가 버튼을 누른다거나 키보드의 키를 누르는 행위를 하나의 액션(Action)으로 나타내기 위해 사용하는 일반적인 추상 객체이다.</P>
<P>&nbsp;</P>
<P>다음의 그림은 소프트웨어 객체에 대해 표현하고 있다.</P>
<P>&nbsp;</P>
<P align=center>&nbsp;</P>
<P>&nbsp;
<DIV style="TEXT-ALIGN: center; CLEAR: both" class="imageblock center"><IMG alt="" src="http://cfile22.uf.tistory.com/image/1208650C49CAD2EA06E812" width=319 height=179></DIV>
<P></P>
<P align=center>[ 그림 1-1 ]</P>
<P><BR>소프트웨어 객체가 알고 있는 것들(상태)과 할 수 있는 것들(행동)은 각각 변수와 메서드로서 나타내어진다. 실제 자전거를 객체로 모델링한 소프트웨어 객체는 자전거의 현재 상태(속도는 18mph, 패달의 회전 속도는 90rpm, 그리고 현재의 기어는 5단)를 나타내기 위해 여러 변수들을 가질 것이다. 이러한 변수들은 인스턴스 변수(instance variables)라고 알려져 있다. 왜냐하면, 이 변수들은 어떤 특정한 자전거 객체를 위한 변수들이고, 객체지향에서 이러한 특정 객체를 인스턴스라고 부르기 때문이다. (인스턴스는 객체라는 틀에 의해 생성된 실제 객체의 형태이다. 흔히들 붕어빵에 비유하곤 하는데, 보통 붕어빵을 찍는 틀을 객체(Object), 그 틀로부터 만들어진 각각의 붕어빵을 인스턴스(Instance)라고 일컫는다:역자주)</P>
<P>&nbsp;</P>
<P>다음 그림은 소프트웨어 객체로 모델링된 자전거를 나타낸다.</P>
<P>&nbsp;</P>
<P align=center>
<DIV style="TEXT-ALIGN: center; CLEAR: both" class="imageblock center"><IMG alt="" src="http://cfile2.uf.tistory.com/image/19286B0B49CAD2FC06DCCE" width=226 height=166></DIV>
<P></P>
<P align=center><BR>[ 그림 1-2 ]</P>
<P><BR>객체의 변수들에 더해서, 소프트웨어 자전거는 멈추다, 패달의 회전 속도를 높이다, 기어를 바꾸다 와 같은 행동을 위한 메서드들을 가진다. (자전거는 특별히 속도를 변화 시키는 메서드를 가지지 않는다. 왜냐하면, 자전거의 속도는 패달의 회전 속도와 기어의 상태를 통해 나타나는 결과물일 뿐이기 때문이다.) 이러한 메서드들을 인스턴스 메서드라고 부른다. 왜냐하면, 이 메서드들이 어떤 특</P>
<P>정한 자전거 인스턴스의 상태를 변화시킬 수 있기 때문이다.</P>
<P>&nbsp;</P>
<P>객체 도식(Diagram)에서 객체의 변수들은 중앙에 위치해 있는 것을 볼 수 있다. 그리고 메서드가 그 주위를 감싸고 있기 때문에 외부에서는 객체의 내부 즉, 변수들을 볼 수가 없다. 이처럼 메서드의 보호아래 객체의 변수들이 묶여있는 것을 캡슐화(Encapsulation) 이라고 한다. 메서드의 보호아래 객체의 중앙에서 변수들이 보호되고 있는 위와 같은 개념적인 그림은 객체를 표현하는 이상적인 모습이며, 객체지향 시스템을 설계하는 디자이너들이 추구하는 이상적인 모습이다. 그러나 이것이 전부가 아니며 종종 현실적인 이유로 인해 변수를 노출시키거나 메서드를 숨겨야 할 때도 있다. 자바 프로그래밍 언어에서 각각의 변수와 메서드는 네가지 접근레벨 중에서 하나의 레벨로 설정된다. 접근레벨은 어떤 객체와 클래스가 변수와 메서드에 접근할지를 판단한다.</P>
<P>&nbsp;</P>
<P>캡슐화는 단순하지만 강력한 아이디어로써 소프트웨어 개발자에게 다음과 같은 두가지 이점을 제공한다.</P>
<P>&nbsp;</P>
<P>1. 모듈성(Modularity)</P>
<P>하나의 객체를 위한 소스코드는 다른 객체를 위한 코드에서 독립적으로 사용되어 질 수 있다. 또한, 객체는 시스템 어디에서나 쉽게 적용될 수 있는데, 어떤 이에 의해 만들어진 자전거 객체는 다른 누군가가 아무 수정을 가하지 않고 자신의 시스템에 바로 적용시킬 수 있다.</P>
<P>&nbsp;</P>
<P>2. 정보은닉(Information hiding)</P>
<P>객체는 다른 객체의 접근을 허용하기 위해 PUBLIC 이라는 접근단계를 가지고 있다. 객체는 그 객체를 참조하는 다른 객체에게는 아무 영향도 끼치지 않고, 자신의 PRIVATE 변수와 메서드를 언제든 수정할 수 있다. 실제로 자전거가 어떤 원리에 의해 움직이는지 자전거를 타는 사람은 알 필요가 없다는 말이다. (외부 객체에게는 인터페이스만을 제공하므로 private 로 묶인 변수나 메서드는 그 객체만이 접근할 수 있다. 즉, 이러한 private 변수나 메서드는 내부 구현을 위해 사용되는 것으로써, 외부 객체는 내부적으로 어떤 행동들이 발생하는지는 전혀 알 필요가 없다는 의미이다.) </P>

 

<H3>[2].이벤트 기반의 프로그래밍이란?</H3>
<P>이벤트 기반의 프로그래밍이란 이벤트를 중심으로 프로그래밍을 하는것을 의미 하는데 보통 C언어나 예전에 COBOL, PASCAL 등의 언어는 코드를 중심으로 실행되는 것으로 코드 중심 프로시져 중심형 언어에 속하고 비주얼 언어의 대부분이 객체지향성 언어로 그중 비주얼 베이직과 몇몇 언어가 이벤트 중심형 언어에 속합니다. 이벤트 중심형 언어란 각 객체에 이벤트가 발생 할 때 특정 코드를 처리 하도록 각각의 객체에 이벤트를 처리하는 코드를 작성해 프로그래밍 하는 것을 이벤트 기반의 프로그래밍이라고 합니다.</P>
 

<H3>[3]. 콘솔프로그램과 window 프고르앰의차이</H3>
<P>일반적으로 콘솔프로그램은 도스(DOS)그리고 유닉스(UNIX) 와 같은 콘솔 기반형 운영체제(OS)용 프로그래밍을 하는데 사용하고 윈도우즈(Windows)와 같은 그래픽 유져 인터페이스(GUI) 기반의 운영체제(OS)인 MS의 윈도우즈(Windows), IBM의 OS2, APPLE의 OSX등의 그래픽 기반의 운영체제 등이 해당 됩니다.</P>
 

<H3>[4]. 변수선언방법</H3>
<P>비주얼베이직에서 변수 선언 방법은
Dim 문에 As Object를 지정하여 Object 데이터 형식의 변수를 선언할 수 있습니다.

  1. Dim i, j, k As Integer 

위와 같은 형식으로 변수를 선언 할 수 있습니다. 위 코드는 i, j, k 변수를 정수형으로 선언 하는 것 입니다.</P>


[참조]
[1]. 객체란?
     다음에 03gu8님 블로그 에서 가져 왔습니다.
[2]. 이벤트 기반의 프로그래밍이란?
     직접 작성 하였습니다.
[3]. 콘솔프로그램과 window 프고르앰의차이
     직접 작성 하였습니다.
[4]. 변수선언방법
     MSDN에서 일부 참조해서 작성 하였습니다.


  1. No Image

    COBOL Programming Guide - IBM Library Server

    Programming Guide - CONTENTS Table of Contents
    Date2017.03.04 Reply0 Views1445
    Read More
  2. No Image

    Middleware Tuxedo, T-Max

    턱시도(TUXEDO), Tmax(Transaction Maximization) 1. 등장 배경 턱시도(TUXEDO)는 Transaction Manager의 표준으로 X/OPEN, OSF 등의 표준화 근간을 제공하였고, 현존하는 대부분의 TP Monitor들이 턱시도를 기반으로 개발되었다. Tmax는 Transaction Maximiza...
    Date2017.02.28 Reply0 Views476
    Read More
  3. 프로시져, 객체지향

    1. 객체가뭔지? (가지고있는 속성 2.이벤트 기반의 프로그래밍이란? 3. 콘솔 프로그램과 Window 프로그앰의차이 4. 변수선언방법 의견1나도 궁금해요 신고 답변 1개 옵션 니바리님의 답변초인채택답변수905 활동분야베이직 펼치기 질문자 채택 질문자인사답변...
    Date2017.02.27 Reply0 Views453
    Read More
  4. No Image

    VTS(Virtual Tape Server), VTL(Virtual Tape Library)

    가상 테이프 라이브러리(VTL, Virtual Tape Library)란 데이터의 백업 및 복구를 위해 가상화 기술을 이용함으로써 디스크를 마치 테이프처럼 인식하여 데이터를 저장하는 시스템이다. 파일 단위로 데이터를 복구할 수 있고, 보유한 서버 수만큼 디스크를 분할...
    Date2017.02.27 Reply0 Views3722
    Read More
  5. JDK 설치 및 설정 (환경변수 설정)

          JDK 다운로드       ▲ 자바 프로그래밍을 하기 위해서 먼저 오라클 홈페이지에서 제공하는 자바 개발 툴을 설치해야 합니다. http://www.oracle.com 으로 접속한 뒤 Downloads > Java for Developers 메뉴를 선택합니다.         ▲ 2015년 1월 1일 현재...
    Date2016.05.27 Reply0 Views393 file
    Read More
  6. 알고 보면 쉬운 랜섬웨어 예방법 6가지

    개인과 기업을 막론하고 2016년 최대 보안 위협으로 자리 잡은 랜섬웨어. 2년 전만 해도 한국은 랜섬웨어 공격에 비교적 자유로운 편이었으나, 2015년 4월경 국내에 상륙한 이후 신종과 변종을 거듭하며 광범위하고 무차별적으로 우리를 공격하고 있다. 랜섬...
    Date2016.05.27 Reply0 Views401 file
    Read More
  7. No Image

    소스포지(SourceForge.net)

    이 문서는 웹사이트에 관한 것입니다. 소프트웨어에 대해서는 소스포지 엔터프라이즈 에디션 문서를 참조하십시오. SourceForge.net주소http://sourceforge.net/영리여부예사이트 종류협력 리비전 관리, 소프트웨어 개발관리사용 언어영어소유자지크넷제작자V...
    Date2016.05.22 Reply0 Views359
    Read More
  8. No Image

    홈페이지 웹취약점 표준 점검항목

    홈페이지 웹취약점 표준 점검항목 No. 코드 점검항목 설명 조치영역 1 OC 운영체제 명령 실행 웹 서버에 존재하는 명령어 실행 가능 함수 인자를 조작하여 특정 명령어 실행이 가능한 취약점 소스코드 2 SI SQL 인젝션 입력 폼에 악의적인 쿼리문을 삽입하여 D...
    Date2016.05.19 Reply0 Views667
    Read More
  9. No Image

    취약점 점검

    취약점 진단도구로 많이 활용 되는 TOP10 사용되는 취지는 악의적인 목적으로 중국에서 개발해서 많이 사용 되나 보안담당자들은 간혹 테스트 목적으로도 사용되어진다. 절대 악의적인 목적으로 사용하는일이 없기를 바랍니다..     1.    Pangolin - 중국에서...
    Date2016.05.19 Reply0 Views513
    Read More
  10. 취약점 점검에 대해 규정하는 법률 및 국내/외 제도

    취약점 점검에 대해 규정하는 법률 및 국내/외 제도 본 포스팅의 목적은 독자가 속해있는 기업이 1) 취약점 점검을 수행해야 하는지, 혹은 2) 어떤 법/제도에 의해 취약점 점검을 수행해야 하는지, 3) 취약점 점검을 강제하는 규정이 어떤것이 있는지에 대한 ...
    Date2016.05.19 Reply0 Views436
    Read More
  11. No Image

    SW개발보안 (Secure Coding)

    SW개발보안 (Secure Coding)   1. SW 개발 보안의 필요성   "SW 개발보안"이란 SW 개발 과정에서 개발자 실수, 논리적 오류 등으로 인해 SW에 내재된 보안취약점을 최소화하는 한편, 해킹 등 보안위협에 대응할 수 있는 안전한 SW를 개발하기 위한 과정을 의미...
    Date2016.05.19 Reply0 Views354 file
    Read More
  12. 비정형데이터 암호화 의무적용으로 파일암호화 시장 들썩

    비정형데이터 암호화 의무적용으로 파일암호화 시장 들썩 로그 및 이미지와 음성 파일 등 비정형데이터도 암호화 솔루션 확대 적용해야 길민권 mkgil@dailysecu.com ...
    Date2016.04.27 Reply0 Views505 file
    Read More
  13. No Image

    WiresharkPortable_2.0.3.paf / HTTP.Analyzer.Full.Edition.v7...

    WiresharkPortable_2.0.3.paf (Win32 / Win64) HTTP Analyzer - Full Edition.v7.0.2.439
    Date2016.04.25 Reply0 Views363
    Read More
  14. Java Applet, HyperText Markup Language 란?

    자바 애플릿(Java Applet)이란? - 웹 브라이주(Web browser)에 내장된 Java 가상 머신(JVM)에 의해 실행되는 Java프로그램 [참고] 자바 어플리케이션(Java Application) -> 사이즈가 작은프로그램(applet) - 각 컴퓨터 플랫폼에서 JVM에 의해 독립적으로 실행...
    Date2016.04.23 Reply0 Views813 file
    Read More
  15. WAS. TOMCAT. EJB

    * 웹표준의 기본 레이아웃 - 기본 속성에 대한 이해(wrap, header, container, footer, clear:both) http://jlayout.blog.me/220251928646 * 웹 서버(web server), 웹 컨테이너(web container), 웹 어플리케이션 서버(web application server, WAS) 란? 웹 서...
    Date2016.04.20 Reply0 Views439 file
    Read More
  16. No Image

    편의성 무기로 백업 시장에서 떠오르는 ‘PBBA’

    편의성 무기로 백업 시장에서 떠오르는 ‘PBBA’
    Date2016.04.19 Reply0 Views412
    Read More
  17. Shared Memory 공유방법 - Semaphore / Mutex

    Semaphore(세마포어) 개념 - 프로세스간 메세지 전송을 하거나, 혹은 Shared Memory(공유메모리)를 통해서 특정 data를 공유하게 될경우    발생하는 문제는, 공유된 자원에 여러개의 프로세스가 동시에 접근을 하면서 발생한다.     단지 한번에 하나의 프로...
    Date2016.04.17 Reply0 Views527 file
    Read More
  18. No Image

    아이디·비번 방식 대안 '파이도'(FIDO) 규격 확정··· "쉽...

    아이디, 비밀번호 방식보다 더 간단하면서도 안전한 인증 표준 '파이도'(FIDO-Fast Identity Oline) 최종 규격이 9일 마침내 등장했다. 모바일 기기 제조사들이 도입 대열에 서둘러 합류할 것으로 관측된다.  Read more: http://www.ciokorea.com/news/23328#c...
    Date2016.04.05 Reply0 Views3569
    Read More
  19. No Image

    이중 인증이란? 5가지 요점

    모든 컴퓨터 전문가들이 사용자에게 주는 최선의 보안 조언 중 하나는 웹사이트에 이중 인증을 지원하도록 만들라는 것이다. 암호 유출이 너무 흔해진 요즘 이중 인증이 해커로부터 당신의 신원을 지킬 수 있는 방법이 될 수 있다. 여기 이중 인증 기술을 이해...
    Date2016.04.05 Reply0 Views368
    Read More
  20. No Image

    URL / URI

    URL과 URI가 많이 혼용되는 편이고, 생김세도 비슷하거니와 I를 L의 소문자 오타로 보고 그냥 둘다 URL이라고 생각하는 경우도 더러 있다. 그래서인지 경력직도 그냥 구분 안하고 URL이라고 하는 경우가 있는데, 그래서 그 차이를 설명함. URL은 Uniform Resou...
    Date2016.04.04 Reply0 Views380
    Read More
목록
Board Pagination Prev 1 2 3 4 5 Next
/ 5