< 화면 1> 콤보박스 < 화면 2> 리스트박스 < 화면 4> TComboBox 의 Items 프로퍼티 객체지향프로그래밍을한마디로설명하기에는다 소무리가있습니다. 객체지향프로그래밍은지금까 지도많은사람들이연구하고있으며객체지향프로 그래밍만다루고있는단행본도많이출간될정도로 객체
|
|
- 지희 돈
- 6 years ago
- Views:
Transcription
1 Why 왜델파이인가 2 완벽한 OOP 를지원하는 델파이 우리는델파이에서폼을비롯한모든컴포넌트가클래스로포장돼있다는것을배웠습니다. 또한델파이사용자는클래스를그리잘다루지못해도폼디자이너를통해클래스를자동으로만들어사용하게된다는것도배웠습니다. 델파이는많은양의컴포넌트를갖고있는데그컴포넌트들은모두 TObject라는클래스를시작으로여러단계를거쳐상속되고있습니다. 그렇기때문에컴포넌트라이브러리에는폼디자이너에서사용할수있는컴포넌트의 수보다훨씬더많은수의클래스를갖고있습니다. 컴포넌트를개발할정도의수준이되면이클래스들을잘알고있어야합니다. 다행히도컴포넌트라이브러리는객체지향적으로상당히잘만들어져있어서라이브러리전체를익히는데그리어렵지않습니다. 그럼델파이의컴포넌트라이브러리는어떤점에서객체지향적으로잘만들어져있는지하나씩살펴보도록하겠습니다. 델파이는 VCL이라는컴포넌트라이브러리를갖고있습니다. 지난호에서델파이의폼역시컴포넌트의일부분이라는것을알아봤습니다. 이번호에서는델파이의컴포넌트라이브러리가운데객체지향프로그래밍이잘적용된몇가지예제를살펴보도록하겠습니다. 델파이는객체지향프로그래밍을배울수있는좋은도구입니다. 델파이를접하면객체지향프로그래밍은저절로배울수있게됩니다. 37 양병규 bkyang@ensiz.co.kr 연재순서 필자는델파이초기버전때부터델파이개발자로활동하고있으며, 한국델파이동호회델마당 ( 의회장과한국델파이연합 ( 위원을역임하고있다. 도움말저작툴인헬프워드의개발자이기도한그는현재엔시즈의 R&D팀책임연구원으로일하고있다. 1회 컴파일언어를넘어최적의개발환경을위한언어로 2회 완벽한 OOP를지원하는델파이 3회 API를앞서는델파이의퍼포먼스 4회 델파이로모든플랫폼을장악하라 5회 DB에서게임까지, 델파이로만들자 6회 생산성을향한끝없는전진, 델파이
2 < 화면 1> 콤보박스 < 화면 2> 리스트박스 < 화면 4> TComboBox 의 Items 프로퍼티 객체지향프로그래밍을한마디로설명하기에는다 소무리가있습니다. 객체지향프로그래밍은지금까 지도많은사람들이연구하고있으며객체지향프로 그래밍만다루고있는단행본도많이출간될정도로 객체지향프로그래밍은어려우면서꼭필요한분야 < 화면 3> 멀티라인에디트 인것입니다. 객체지향에관한높은관심을반영하듯 스트박스, 그리고에디트에서문자열아이템을추가 마소 Jr. 에서도객체지향연재를하고있고, 그밖에 하는방법을각각알아보도록하겠습니다. 먼저콤보 < 화면 5> TListBox 의 Items 프로퍼티 다양한곳에서설명하고있지요. 객체지향프로그래 박스의경우문자열아이템을추가하려면다음과같 밍을배우는데있어가장중요한것은, 꼭소스코드 은코드를사용합니다. 가동반된예제를함께풀어가야한단것입니다. 우리가하게될객체지향프로그래밍에서도가장중요한것은클래스입니다. 물론클래스만으로프로그래밍을하지는않습니다. 우리가작성할소스코드에서가장주가되는것이클래스라는말입니다. 그러므로객체지향프로그래밍을하기위한가장기본적인요소는클래스를잘다루는것입니다. 아직델 S := 문자열 ; SendMessage( ComboBox, CB_ADDSTRING, 0, Integer( PChar( S ) ) ); procedure TForm1.Button3Click(Sender: TObject); S := #13#10 문자열 ; SendMessage(Memo, EM_REPLACESEL, 0, Longint(PChar(S))); TStrings의 Add 메쏘드를이용해아이템을추가했습니다. 두번째로리스트박스에서아이템을추가하는경 파이에서클래스를잘다루지못한다면, 혹은아직까 우입니다. 지도델파이의컴포넌트를제작할줄모른다면이시 콤보박스는 SendMessage API 를이용해콤포박 역시에디트의핸들에메시지를보냄으로써문자 간을계기로클래스를다루는것을꼭공부하기바랍니다. 클래스만잘다룬다면컴포넌트도어렵지않게 스의핸들에 CB_ADDSTRING 메시지와문자열의포인터를전달함으로써문자열아이템을추가하게 열을추가하지만메시지의종류가다릅니다. 세가지의컨트롤이문자열리스트를다룬다는점 ListBox1.Items.Add( 문자열 ) 만들수있습니다. 됩니다 (< 화면 1>). 은같지만각컨트롤에문자열아이템을추가하려면 지난호에서우리는델파이의클래스에는메쏘드 자, 이번에는리스트박스의경우를보겠습니다. 각각에맞는방법을이용해야합니다. 물론아이템을 외에도프로퍼티라는것이있다는것을배웠습니다. 추가하는것외에도삭제 삽입 수정을하는경우 콤보박스에서와똑같은방법을이용하고있다는 38 메쏘드와함께프로퍼티를이용하면보다직관적이고쉬운객체지향프로그래밍을할수있게됩니다. 델파이의컴포넌트라이브러리의특징을살펴객체지향적인프로그래밍을배워보도록하겠습니다. procedure TForm1.Button2Click(Sender: TObject); S := 문자열 ; SendMessage( ListBox, LB_ADDSTRING, 0, Integer( PChar( S ) ) ); 도모두마찬가지일것입니다. 자! 그럼이제부터똑같은내용을델파이의컴포넌트를이용하는경우를보도록하겠습니다. 우선첫번째로콤보박스에서아이템을추가하는경우입니다. 것을알수있습니다. 콤보박스에서와마찬가지로리스트박스에도 Items 프로퍼티를갖고있으며클래스타입도콤보박스의 Items와같은 TStrings형입니다 (< 화면 5>). 그러므로콤보박스에서아이템을추가하는방법이나리스트박스에서아이템을추가하는방법은동일합니다. 39 윈도우의컨트롤중에는문자열리스트를다루게되 마지막으로메모에서문자열을추가하는경우를 는것이있습니다. 콤포박스나리스트박스가그렇고에디트의경우에도멀티라인속성을갖게되면하나의문자열이아닌문자열리스트를다루게됩니다. 문자열리스트란말그대로여러라인의문자열을말 리스트박스의경우에도마찬가지로리스트박스의핸들에 LB_ADDSTRING 메시지와문자열의포인터를전달함으로써아이템을추가합니다 (< 화면 2>). 콤보박스와거의같은방법이나메시지의종류가다 ComboBox1.Items.Add( 문자열 ) 보겠습니다. Memo1.Lines.Add( 문자열 ) 합니다. 윈도우 API 를이용해이컨트롤들에문자열 르다는것을알수있습니다. 콤보박스에는 Items 라는프로퍼티가있습니다 (< 화 아이템을추가하고삭제하려면각컨트롤에맞는방 마지막으로멀티라인에디터에서문자열을추가하 면 4>). 이프로퍼티는 TStrings 형의클래스로돼있 법을이용해야합니다. 한가지예로콤보박스와리 는방법을보도록하겠습니다 (< 화면 3>). 는프로퍼티입니다. Items 프로퍼티의클래스인 메모에는 Lines 라는프로퍼티가있습니다 (< 화면
3 < 화면 6> TMemo 의 Lines 프로퍼티 있습니다. 이것은이클래스를상속받은클래스에서 아도 TStrings 클래스하나만잘알면델파이에서의 이메쏘드의기능을다시재정의할수있게해줍니 다음은리스트박스의경우를보겠습니다. 리스트박 문자열리스트를다루는모든컴포넌트들을다룰수 다. 그럼처음에얘기했던대로세가지의컨트롤들 스에도 Items 는 TStrings 형으로돼있습니다. 그러 있게됩니다. 은문자열아이템을추가하는데는각기자신의방법 나이역시프로퍼티변수가생성되는부분을보면 을이용해야하는데, 어떻게델파이의컴포넌트에서 다음과같습니다. 는모두똑같은 TStrings 의 Add 메쏘드를이용할수 이것은클래스의상속성을이용하는아주좋은예제 있는지그방법을알아보겠습니다. FItems := TListBoxStrings.Create; 입니다. 이런방법으로만들어진델파이의클래스는 이외에도많이있습니다. 그중에서몇가지를보면 6>). 프로퍼티이름은콤보박스나리스트박스와는다 여기서사용된 TListBoxStrings 역시 TStrings 를 우선 TGraphic 이있습니다. 이것은이름그대로그 르게클래스타입은 TStrings 형으로동일합니다. 그 우선콤보박스의경우입니다. 콤보박스의 Items 프 상속받아만들어진클래스입니다. 마찬가지로 Add 림파일을다루는클래스입니다. 하지만 TGraphic 러므로역시콤보박스나리스트박스와같은방법인 로퍼티는 TStrings 형으로선언돼있습니다. 그러나 메쏘드를오버라이드해리스트박스에맞게다시작 역시 TStrings 와마찬가지로그자신이실제로어떤 Lines 프로퍼티의 Add 메쏘드를이용합니다. 이프로퍼티클래스가생성되는부분을살펴보면다 성됐습니다. 그소스코드는다음과같습니다. 기능을갖고있지는않습니다. TGraphic 의메쏘드에 음과같습니다. 는선언만돼있고구현되지않은메쏘드가많이있 그럼이세가지의컴포넌트들이공통적으로갖고있 FItems := TComboBoxStrings.Create; function TListBoxStrings.Add(const S: string): Integer; 습니다. 그것은이클래스는그림파일을다루는데필요한메쏘드와프로퍼티를정의해놓은것입니다. 40 는 TStrings에대해알아보도록하겠습니다. TStr ings에는많은메쏘드와프로퍼티를갖고있는데다음은그중에서가장중요한몇가지요소들입니다. TStrings = class(tpersistent) function Add(const S: string): Integer; procedure Clear; abstract; procedure Delete(Index: Integer); abstract; function IndexOf(const S: string): Integer; procedure Insert(Index: Integer; const S: string); abstract; procedure LoadFromFile(const FileName: string); procedure SaveToFile(const FileName: string); property Count: Integer read GetCount; property Strings[Index: Integer]: string read Get write Put; default; property Text: string read GetTextStr write SetTextStr; 여기에서 FItems는 Items 프로퍼티가가리키는내부변수입니다. TComboBoxStrings는 TStrings 를상속받아새로정의된클래스입니다. TCombo BoxStrings는부모클래스인 TStrings의 Add 메쏘드를오버라이드해다시정의하고있는데그소스코드는다음과같습니다. function TComboBoxStrings.Add(const S: string): Integer; Result := SendMessage(ComboBox.Handle, CB_ADDSTRING, 0, Longint(PChar(S))); if Result < 0 then raise EOutOfResources.Create (SInsertLineError); 우리가처음에배웠던콤보박스의문자열아이템을추가하는방법이이안에서그대로사용되고있다 Result := -1; if ListBox.Style in [lbvirtual, lbvirtualownerdraw] then exit; Result := SendMessage(ListBox.Handle, LB_ADDSTRING, 0, Longint(PChar(S))); if Result < 0 then raise EOutOfResources. Create(SInsertLineError); 리스트박스에아이템을추가하는 LB_ADDSTRI NG 메시지를사용하고있는것을알수있습니다. 메모의경우에도이두가지의컴포넌트와마찬가지로 Lines 프로퍼티는 TStrings형이지만, 실제생성되는클래스는 TMemoStrings입니다. 이 TMemo Strings 역시 TStrings를상속받아만들어진클래스입니다. 이예제를통해우리알수있는것은실제선언된클래스타입은모두가 TStrings인데, 실제생성되는클래스는모두 TStrings를상속받아만들어진새로운클래스라는것입니다. 그리고그클래스들의 Add 실제로이클래스를사용하려면이클래스를상속받아재선언해메쏘드들을실제구현해줘야합니다. 실제로 TGraphic의 Draw 메쏘드를보면다음과같이선언돼있습니다. procedure Draw(ACanvas: TCanvas; const Rect: TRect); abstract; 마지막에붙은 abstract는이메쏘드는선언만돼있고구현부가없다는것을의미합니다. TGraphic 클래스를상속받아만들어진클래스는 TBitmap, TIcon, TMetaFile, TJpegImage 등이있으며이들클래스들은모두 Draw 메쏘드를자신에게맞는방법으로다시작성하고있습니다. 그렇기때문에우리는사용하려는그림파일이비트맵이건아이콘이건혹은메타파일이나 Jpeg이건모두 TGraphic 하나만사용할줄알면이모든파일들을똑같은방법으로다룰수있게됩니다. 41 는것을알수있습니다. 콤보박스의 Items 프로퍼티 메쏘드들은각각사용되는컴포넌트에맞게다시작 의 Add 메쏘드를실행하면결국 TComboBoxSt 성되고있다는것입니다. 그렇기때문에우리는세 이중에서우리가아이템을추가하는데사용했던 rings 의 Add 메쏘드를실행하게되는것입니다. 그 가지의컴포넌트에아이템을다루기위해서는 TStr 또한가지예로서 TStream 이있습니다. TStream 은 것은가장위에있는 Add 메쏘드입니다. 보는것처 러므로콤보박스에는문자열아이템이추가될수있 ings 클래스하나만다룰줄알면되는것입니다. 세 바이너리데이터를읽고저장하는데사용합니다. 하 럼 Add 메쏘드의가장뒷부분에는 virtual 이라고써 었습니다. 가지의컴포넌트에맞는메쏘드를따로따로알지않 지만 TStream 역시바이너리데이터를다루는데필
4 요한메쏘드와프로퍼티가선언된채실제구현은돼 분을부모클래스에서메쏘드로만들고이메쏘드들 로선언된객체의메쏘드가아니라클래스자료형의 < 화면 7> Jpeg.pas 를 uses 에추가하면 TJpegImage 가자동으로추가된다 있지않습니다. TStream 을상속받아만들어진클래 을자식폼들이오버라이드해사용하는것이좋을것 메쏘드를말합니다. 대표적으로생성자가있습니다. 스로는 TFileStream, TMemoryStream,TResou 입니다. 그런예를하나들면가장흔한데이터베이 다음은 TForm1 의 Create 클래스메쏘드를사용하 rcestream 등이있습니다. TFileStream 은이름그 스애플리케이션을들수있습니다. 고객관리, 제품 는경우입니다. 대로파일에바이너리데이터를읽고쓸때사용합니 관리, 판매관리등여러개의데이터베이스를각각 다. TMemoryStream은메모리에바이너리데이터를읽고쓸때사용합니다. TResourceStream은리소스 하나씩의폼으로관리한다면각폼에는분명히 TDa tasource와 TTable 등이공통적으로사용될것입니 Form1: TForm1;... 를다룰수있는클래스입니다. 처음에얘기했던대로 다. 그리고각폼에는테이블을열고닫거나수정하 Form1 := TForm1.Create( nil ); 파일을다루거나메모리를다룰때는각각에맞는 고검색하는루틴들이공통적으로만들어질것입니 API 를이용해야할것입니다. 하지만델파이에서는 다. 이런경우상속성을이용한다면하나의폼에 TD 여기에서오브젝트 Form1 에 TForm1.Create( 이메쏘드는 TPicture 에 TGraphic 을등록하는데 TStream 하나만다룰줄알면파일과메모리등어디 atasource 와 TTable 을만들고테이블을열고닫고 nil); 를대입했습니다. Create 생성자는 TForm1 이 사용합니다. 즉, TBitmap, TMetaFile, TIcon 등 에든바이너리데이터를읽고쓸수있게됩니다. 검색하는메쏘드를선언해놓은폼을하나만들어여 갖고있는클래스메쏘드입니다. 즉클래스메쏘드는 TGraphic 으로부터상속된그림파일클래스를등록 TCanvas 의경우도그렇습니다. TCanvas 는그림 러폼에서이폼을상속받아서처리한다면보다적은 클래스타입. 메쏘드 ; 가됩니다. 여기에서사용한생 하는용도로사용됩니다. RegisterFileFormat 메쏘 을그리는데사용하는클래스입니다. 화면, 윈도우, 양의코드로쉽게만들수있을것입니다. 성자는클래스메쏘드이지만따로 class 라고표기하 드가실행되면내부적으로 TGraphic 들을리스트화 비트맵에그림을그리거나혹은다이렉트 X 화면이나 지는않습니다. 이외에생성자가아닌일반메쏘드 해관리하게됩니다. 그리고는이그래픽리스트들을 프린터에그림을그릴때나 TCanvas 하나만잘알 를클래스메쏘드로만들려면메쏘드의앞에 class 라 여기저기에서활용하게됩니다. 가장흔한예로 TPic 면모두가가능합니다. 물론각각의디바이스에맞는 클래스의상속성을잘이해했나요? 이젠두번째로 고씁니다. ture 의 LoadFromFile 메쏘드를실행하면 TPicture 클래스가내부적으로따로따로만들어져있지만우 클래스메쏘드에대해배워보도록하겠습니다. 는등록돼있는 TGraphic 들에서로딩하려는파일의 리는 TCanvas 하나만잘알면됩니다. 클래스의메쏘드앞에 class 라고써있는것이있습 확장자와같은파일확장자를가진 TGraphic 을찾아 니다. 이런것들을클래스메쏘드라고합니다. 메쏘 클래스메쏘드를사용하는가장큰이유는매니저와 그클래스타입으로생성하게됩니다. 그러므로새로 드에는오브젝트메쏘드와클래스메쏘드가있습니 아이템의관계를나타내기위해서입니다. 델파이에 운파일포맷의그래픽을 TPicture 의 RegisterFile 클래스의상속성은여러객체에서의공통적인부분 다. 우선이두가지를구분할줄알아야하겠네요. 서사용되고있는가장쉬운예제로는 TPicture 와 Format 메쏘드를이용해등록하면 TPicture 에서다 을하나로모아주는역할을하게됩니다. 그러므로 오브젝트란클래스타입으로돼있는변수를말합 TGraphic 이있습니다. TPicture 는그림자체를말 뤄지는모든기능에서그그래픽을다룰수있게되 그만큼소스코드의양이줄어들뿐만아니라구조적 니다. 그것이하나의객체라는것이지요. 클래스타 하며 TGraphic 은비트맵, 메타파일, 아이콘등그림 는것입니다. TOpenPictureDialog 와같이내부적으 으로이해하기에도쉬워집니다. 클래스의상속성을 입은그자체가오브젝트가아니라하나의자료형일 파일하나를말합니다. 그러므로 TGraphic 은 TPic 로그래픽과관련된컴포넌트에서도 TPicture 에등 42 이용하는방법은많이있습니다. 우선폼을상속하는방법이있을겁니다. 여러개의폼을사용하는애플 뿐입니다. 그것이변수로선언되고사용될때비로소객체라고부르는것입니다. 이때이변수가사용할 ture에의해관리받게됩니다. TPicture에는다음과같은클래스메쏘드가선언 록된그래픽리스트를활용기도합니다. 이와같이클래스메쏘드는아이템클래스가매니 43 리케이션에서각폼이열리고닫힐때폼의상태를 수있는메쏘드를오브젝트메쏘드라고합니다. 다음 돼있습니다. 저클래스에등록할때주로사용되며주로아이템클 레지스트리에서읽어오고쓰는경우를보면각각의 은 Form1 이라는객체의 Show; 메쏘드를사용하는 래스가있는유닛의 initialization 에서사용됩니다. 폼마다레지스트리에읽고쓰는루틴을작성해야할것입니다. 이런것을상속성을이용해처리한다면폼의상태를레지스트리에읽고쓰는기능을가진폼을하나작성하고이폼을상속해또다른폼들을만든 경우입니다. Form1: TForm1;... class procedure RegisterFileFormat(const AExtension, ADescription: string; AGraphicClass: TGraphicClass); 그렇기때문에아이템클래스가들어있는유닛을 uses에선언만하면아이템클래스는자동으로매니저클래스에등록됩니다. 델파이에서그런방법으로사용되는유닛으로 Jpeg.pas가있습니다. 이유닛은 다면그폼들은따로작성하지않아도자동으로폼의 Form1.Show; 앞서얘기한바와같이이와같은클래스메쏘드는 TGraphic 으로부터상속된 TJpegImage 클래스가들 상태가레지스트리에읽히고써질것입니다. 객체. 메쏘드 가아닌 클래스타입. 메쏘드 와같이 어있는데, initialization 에서 TPicture 의 Register 하지만이경우는부모클래스의기능을오버라이 여기에서 Form1 은오브젝트가되고 Show 는오브 사용해야하므로이메쏘드는 TPicture.RegisterFile FileFormat 메쏘드를호출하고있습니다. 그래서우 드하지않고그대로사용하는것입니다. 상속성을보 젝트메쏘드가됩니다. 즉오브젝트메쏘드는 변수 Format 과같이사용해야하며 Picture1.Register 리는 uses 에 Jpeg 만선언해두면 TImgae 와같은곳에 다효과적으로사용하려면여러폼들의공통적인부 명. 메쏘드 ; 가됩니다. 반면에클래스메쏘드는변수 FileFormat 과같이사용할수는없습니다. 서 Jpeg 이미지를사용할수있게됩니다 (< 화면 7>).
5 이외에도클래스메쏘드는여러곳에서쓰이고있습니다. TRichEdit에서도클래스메쏘드는사용되고있습니다. 리치에디트에는파일에서읽어들이거나파일로저장할때표준리치에디트포맷이아닌다른포맷으로변환할수있게해주는기능이있는데이때 TConversion이라는클래스를사용합니다. 그리고 TRichEdit에는다음과같이 TConversion을등록하는클래스메쏘드를갖고있습니다. class procedure RegisterConversionFormat(const AExtension: string; AConversionClass: TConversionClass); 터유닛을다른사람이따로만들때각유닛을매니저유닛의 uses에추가만하면그기능이자동으로추가되도록할수있을것입니다. 또게임에서도사용될수있습니다. 여러개의캐릭터가등장할때, 각캐릭터를각각의유닛으로만들고해당유닛을 uses 에추가하면해당캐릭터가게임에추가되도록할수있을것입니다. 압축유틸리티와같은곳에서도클래스메쏘드는유용하게사용될수있습니다. 압축파일한가지를하나의유닛에만들고 uses에압축파일유닛들을추가할수있습니다. 44 여기에서도그래픽의경우처럼파일의확장자와클래스타입을파라미터로지정하게돼있습니다. TRichEdit는 SaveToFile 메쏘드나 LoadFromFile 메쏘드를실행하면파일확장자를확인해등록된 TConversion를찾아해당 TConversion에게파일을저장하고읽어오도록시킵니다. 물론 TConversion 이들어있는유닛에도 initialization에서 TRchEdit 의 RegisterConversionFormat 메쏘드를실행하게만들어야합니다. 그러면델파이사용자는새로운 T Conversion이들어있는유닛을 uses에추가하기만하면 TRichEdit에서파일을저장할때해당파일확장자로저장하면해당 TConversion이자동으로생성돼파일을처리합니다. 간혹이기능을이용해 TRi chedit에서워드파일이나한글문서를읽고쓸수있는컴포넌트를볼수있습니다. 객체지향프로그래밍은클래스를잘다루고잘이해하는데서시작됩니다. 이번호에서배운두가지의내용은객체지향프로그래밍의일부에지나지않습니다. 프로그래머가얼마만큼객체지향프로그래밍을효과적으로잘이용하느냐에따라서프로그램의양과완성도가달라지게됩니다. 또한팀단위작업에서도얼마만큼효과적인객체지향프로그래밍을하느냐에따라서팀원간에손발이잘맞는지도결정이됩니다. 델파이는객체지향프로그래밍에가장좋은툴입니다. J 정리 : 이종림 nowhere@sbmedia.co.kr 클래스메쏘드는객체지향프로그래밍에서도그리많이사용되지않고있습니다. 그러나잘사용하면매우효과적인프로젝트관리를할수있게됩니다. 데이터베이스프로그래밍에서여러개의데이터를사용하고각데이터가하나의유닛으로처리될때, 클래스메쏘드를효과적으로적용할수있습니다. 메인매니저유닛을프로젝트매니저가만들고각데이
. 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요
. 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요소로써안드로이드시스템에서는 Activities, Services, Content Providers,
More informationPowerPoint Presentation
Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음
More informationgnu-lee-oop-kor-lec06-3-chap7
어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base
More informationq 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2
객체지향프로그래밍 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 q 객체지향프로그래밍의이해 v 프로그래밍기법의발달 A 군의사업발전 1 단계 구조적프로그래밍방식 3 q 객체지향프로그래밍의이해 A 군의사업발전 2 단계 객체지향프로그래밍방식 4 q 객체지향프로그래밍의이해 v 객체란무엇인가
More informationPowerPoint Presentation
객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean
More information쉽게 풀어쓴 C 프로그래밍
Power Java 제 7 장클래스와객체 이번장에서학습할내용 객체지향이란? 객체 메시지 클래스 객체지향의장점 String 클래스 객체지향개념을완벽하게이해해야만객체지향설계의이점을활용할수있다. 실제세계는객체로이루어진다. 객체지향이란? 실제세계를모델링하여소프트웨어를개발하는방법 절차지향과객체지향 절차지향프로그래밍 (procedural programming): 문제를해결하는절차를중요하게생각하는방법
More informationJAVA PROGRAMMING 실습 08.다형성
2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스
More information델파이 4 프로그래밍의 이해 (Understandings of Delphi 4 Programming)
델파이 4 프로그래밍의이해 (Understandings of Delphi 4 Programming) 오브젝트파스칼과심도있는델파이프로그래밍의세계로들어가기전에, 이번장에서는델파이를사용하여첫번째윈도우어플리케이션을제작하고전반적인델파이의환경에대해서알아볼것이다. 내용의수준이높지는않겠지만, 흔히알고있었던내용이라고하더라도별생각없이넘어갔던것들도많을것이다. 그러면, 델파이 4
More informationMicrosoft PowerPoint - chap01-C언어개요.pptx
#include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을
More informationPowerPoint Presentation
Package Class 1 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section
More informationMicrosoft PowerPoint - chap02-C프로그램시작하기.pptx
#include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의
More informationPowerPoint Presentation
데이터처리프로그래밍 Data Processing Programming 08 객체와클래스 목차 1. 객체와클래스 2. 인스턴스변수, 클래스변수 3. 클래스매직메소드 4. 클래스의상속 데이터처리프로그래밍 (Data Processing Programming) - 08 객체와클래스 3 1. 객체와클래스 객체 Object 객체란존재하는모든것들을의미 현실세계는객체로이루어져있고,
More information쉽게 풀어쓴 C 프로그래밍
Power Java 제 20 장패키지 이번장에서학습할내용 패키지의개념 패키지로묶는방법 패키지사용 기본패키지 유틸리티패키지 패키지는연관된클래스들을묶는기법입니다. 패키지란? 패키지 (package) : 클래스들을묶은것 자바라이브러리도패키지로구성 ( 예 ) java.net 패키지 네트워크관련라이브러리 그림 20-1. 패키지의개념 예제 패키지생성하기 Q: 만약패키지문을사용하지않은경우에는어떻게되는가?
More informationPowerPoint Presentation
public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +
More information 메소드 오버로딩
객체지향언어로서의오브젝트파스칼 (Object Pascal As A OOP) 오브젝트파스칼의객체지향성을몰라도델파이어플리케이션을쉽게만들수있다. 단순히폼을하나만들고, 거기에여러가지컴포넌트들을추가하고, 이벤트핸들러에적당한내용의코드들을추가하면그걸로충분한것이다. 그렇지만, 이것을이해하면델파이가어떤방법으로작업을처리하는지이해할수있고, 자신만의컴포넌트를만들어내거나, 비교적커다란프로젝트를진행할때에커다란도움을받게될것이다.
More information오버라이딩 (Overriding)
WindowEvent WindowEvent 윈도우가열리거나 (opened) 닫힐때 (closed) 활성화되거나 (activated) 비활성화될때 (deactivated) 최소화되거나 (iconified) 복귀될때 (deiconified) 윈도우닫힘버튼을누를때 (closing) WindowEvent 수신자 abstract class WindowListener
More informationPowerPoint Template
JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것
More informationMicrosoft PowerPoint 장강의노트.ppt
클래스와객체 클래스와객체 객체 : 우리주변의어떤대상의모델 - 예 : 사람, 차, TV, 개 객체 = 상태 (state) + 행동 (behavior) - 예 : 개의상태 - 종자, 이름, 색개의행동 - 짖다, 가져오다 상태는변수로행동은메소드로나타냄 객체는클래스에의해정의된다. 클래스는객체가생성되는틀혹은청사진이다. 2 예 : 클래스와객체 질문 : 클래스와객체의다른예는?
More informationAPI - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어
메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어서가장중요한부분이라고도할수있기때문입니다. 1. 새로운메크로생성 새메크로만들기버튺을클릭하여파일을생성합니다. 2. 메크로저장 -
More information<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>
SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......
More information4장기본프로그래밍2
4-2 마우스 (Mouse) 마우스이벤트 Click 이벤트 마우스버튼이눌렸다가떼어질때발생 DblClick 이벤트 마우스버튼이두번눌렸다가떼어질때발생 MouseDown 이벤트 마우스버튼이눌렸을때발생 MouseUp 이벤트 마우스버튼이떼어질때발생 MouseMove 이벤트 마우스가움직일때발생 DragOver 이벤트 마우스버튼을누른상태에서끌기를했을때발생 DragDrop
More informationNo Slide Title
상속 이충기 명지대학교컴퓨터공학과 상속 Q: 건설회사는기존아파트와조금다르거나추가적인특징들을가진새아파트를지을때어떻게하는가? A: 2 상속 상속 (inheritance) 은클래스들을연관시키는자연스럽고계층적인방법이다. 상속은객체지향프로그래밍의가장중요한개념중의하나이다. 상속은 은 이다 라는관계 (is-a relationship) 를나타낸다. 이관계를적용하여클래스들을상하관계로연결하는것이상속이다.
More informationMicrosoft PowerPoint - CSharp-10-예외처리
10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.
More information<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2>
게임엔진 제 4 강프레임리스너와 OIS 입력시스템 이대현교수 한국산업기술대학교게임공학과 학습내용 프레임리스너의개념 프레임리스너를이용한엔터티의이동 OIS 입력시스템을이용한키보드입력의처리 게임루프 Initialization Game Logic Drawing N Exit? Y Finish 실제게임루프 오우거엔진의메인렌더링루프 Root::startRendering()
More informationVisual Basic 반복문
학습목표 반복문 For Next문, For Each Next문 Do Loop문, While End While문 구구단작성기로익히는반복문 2 5.1 반복문 5.2 구구단작성기로익히는반복문 3 반복문 주어진조건이만족하는동안또는주어진조건이만족할때까지일정구간의실행문을반복하기위해사용 For Next For Each Next Do Loop While Wend 4 For
More information<432B2BC7C1B7CEB1D7B7A1B9D628BABBB9AE5FC3D6C1BE295B315D2E687770>
저 자 약 력이상정순천향대학교컴퓨터학부교수, sjlee@sch.ac.kr 조영일수원대학교컴퓨터학과교수, yicho@suwon.ac.kr 김은성순천향대학교전기전자공학과교수, eskim@sch.ac.kr 박종득공주대학교컴퓨터공학부교수, pjd@kongju.ac.kr C++ 언어는 C 에 C 언어의증가연산자 ++ 를덧붙인 C++ 라는이름이의미하는바와같이 C 언어의문법을대부분그대로사용하면서객체지향프로그래밍기법을추가한
More informationMicrosoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx
2018 학년도 1 학기 JAVA 프로그래밍 II 514760-1 2018 년봄학기 5/10/2018 박경신 Lab#1 (ImageTest) Lab#1 은영상파일 (Image) 을읽어서정보를출력 Java Tutorials Lesson: Working with Images https://docs.oracle.com/javase/tutorial/2d/images/index.html
More informationPowerPoint Presentation
Package Class 3 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section
More informationPowerPoint Presentation
public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +
More informationMF3010 MF Driver Installation Guide
한국어 MF 드라이버설치설명서 사용자소프트웨어 CD-ROM................................................ 1.................................................................... 1..............................................................................
More informationVisual Basic Visual Basic 소개
1. Visual Basic 소개 학습목표 MS 비주얼베이직 6.0과 2010의차이 비주얼베이직 2010 express 설치 비주얼베이직 2010의통합개발환경 프로그램의시작과실행 2 1. 소개 1.1 MS 비주얼베이직 6.0과 2010의차이 1.2 비주얼베이직 2010 express 설치 1.3 비주얼베이직 2010의통합개발환경 1.4 프로그램의시작과실행 3
More information슬라이드 1
정적메모리할당 (Static memory allocation) 일반적으로프로그램의실행에필요한메모리 ( 변수, 배열, 객체등 ) 는컴파일과정에서결정되고, 실행파일이메모리에로드될때할당되며, 종료후에반환됨 동적메모리할당 (Dynamic memory allocation) 프로그램의실행중에필요한메모리를할당받아사용하고, 사용이끝나면반환함 - 메모리를프로그램이직접관리해야함
More informationJAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각
JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.
More information17장 클래스와 메소드
17 장클래스와메소드 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 1 / 18 학습내용 객체지향특징들객체출력 init 메소드 str 메소드연산자재정의타입기반의버전다형성 (polymorphism) 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 2 / 18 객체지향특징들 객체지향프로그래밍의특징 프로그램은객체와함수정의로구성되며대부분의계산은객체에대한연산으로표현됨객체의정의는
More informationJVM 메모리구조
조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.
More information설계란 무엇인가?
금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 9 강. 클래스의활용목차 멤버함수의외부정의 this 포인터 friend 선언 static 멤버 임시객체 1 /17 9 강. 클래스의활용멤버함수의외부정의 멤버함수정의구현방법 내부정의 : 클래스선언내에함수정의구현 외부정의 클래스선언 : 함수프로토타입 멤버함수정의 : 클래스선언외부에구현
More informationNetwork Programming
Part 5 확장된 Network Programming 기술 1. Remote Procedure Call 2. Remote Method Invocation 3. Object Request Broker 2. Java RMI
More informationJAVA PROGRAMMING 실습 05. 객체의 활용
public class Person{ public String name; public int age; } public Person(){ } public Person(String s, int a){ name = s; age = a; } public String getname(){ return name; } @ 객체의선언 public static void main(string
More informationDesign Issues
11 COMPUTER PROGRAMMING INHERIATANCE CONTENTS OVERVIEW OF INHERITANCE INHERITANCE OF MEMBER VARIABLE RESERVED WORD SUPER METHOD INHERITANCE and OVERRIDING INHERITANCE and CONSTRUCTOR 2 Overview of Inheritance
More information- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id="entitymanagerfactory" class="org.springframework.orm.jpa.localentitymanagerfactorybean" p:persistenceunitname=
JPA 와 Hibernate - 스프링의 JDBC 대신에 JPA를이용한 DB 데이터검색작업 - JPA(Java Persistence API) 는자바의 O/R 매핑에대한표준지침이며, 이지침에따라설계된소프트웨어를 O/R 매핑프레임워크 라고한다. - O/R 매핑 : 객체지향개념인자바와관계개념인 DB 테이블간에상호대응을시켜준다. 즉, 객체지향언어의인스턴스와관계데이터베이스의레코드를상호대응시킨다.
More informationPowerPoint Presentation
public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +
More informationMicrosoft PowerPoint - 2강
컴퓨터과학과 김희천교수 학습개요 Java 언어문법의기본사항, 자료형, 변수와상수선언및사용법, 각종연산자사용법, if/switch 등과같은제어문사용법등에대해설명한다. 또한 C++ 언어와선언 / 사용방법이다른 Java의배열선언및사용법에대해서설명한다. Java 언어의효과적인활용을위해서는기본문법을이해하는것이중요하다. 객체지향의기본개념에대해알아보고 Java에서어떻게객체지향적요소를적용하고있는지살펴본다.
More informationPowerPoint 프레젠테이션
인터페이스 배효철 th1g@nate.com 1 목차 인터페이스의역할 인터페이스선언 인터페이스구현 인터페이스사용 타입변환과다형성 인터페이스상속 디폴트메소드와인터페이스확장 2 인터페이스의역할 인터페이스란? 개발코드와객체가서로통신하는접점 개발코드는인터페이스의메소드만알고있으면 OK 인터페이스의역할 개발코드가객체에종속되지않게 -> 객체교체할수있도록하는역할 개발코드변경없이리턴값또는실행내용이다양해질수있음
More information제11장 프로세스와 쓰레드
제9장자바쓰레드 9.1 Thread 기초 (1/5) 프로그램 명령어들의연속 (a sequence of instruction) 프로세스 / Thread 실행중인프로그램 (program in execution) 프로세스생성과실행을위한함수들 자바 Thread 2 9.1 Thread 기초 (2/5) 프로세스단위작업의문제점 프로세스생성시오버헤드 컨텍스트스위치오버헤드
More informationJUNIT 실습및발표
JUNIT 실습및발표 JUNIT 접속 www.junit.org DownLoad JUnit JavaDoc API Document 를참조 JUNIT 4.8.1 다운로드 설치파일 (jar 파일 ) 을다운로드 CLASSPATH 를설정 환경변수에서설정 실행할클래스에서 import JUnit 설치하기 테스트실행주석 @Test Test 를실행할 method 앞에붙임 expected
More information(Microsoft PowerPoint - 07\300\345.ppt [\310\243\310\257 \270\360\265\345])
클래스의응용 클래스를자유자재로사용하자. 이장에서다룰내용 1 객체의치환 2 함수와클래스의상관관계 01_ 객체의치환 객체도변수와마찬가지로치환이가능하다. 기본예제 [7-1] 객체도일반변수와마찬가지로대입이가능하다. 기본예제 [7-2] 객체의치환시에는조심해야할점이있다. 복사생성자의필요성에대하여알아보자. [ 기본예제 7-1] 클래스의치환 01 #include
More informationPowerPoint 프레젠테이션
System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소
More informationMicrosoft PowerPoint - additional08.ppt [호환 모드]
8. 상속과다형성 (polymorphism) 상속된객체와포인터 / 참조자의관계 정적바인딩과동적바인딩 virtual 소멸자 Jong Hyuk Park 상속의조건 public 상속은 is-a 관계가성립되도록하자. 일반화 ParttimeStd 구체화 2 상속의조건 잘못된상속의예 현실세계와완전히동떨어진모델이형성됨 3 상속의조건 HAS-A( 소유 ) 관계에의한상속!
More information<4D F736F F F696E74202D20C1A C0E520B5B5C5A5B8D5C6AE20C6C4C0CF20C0D4C3E2B7C220B9D720B4D9BEE7C7D120BAE420C5ACB7A1BDBA2E BC8A3C8AF20B8F0B5E55D>
제 10 장다양한뷰클래스 10.1 도큐먼트 10.2 파일입출력 10.3 다양한뷰클래스 실습 10-1 Formview를이용한문자를출력하고파일입출력 10.4 분할윈도우 실습 10-2 정적분할윈도우를이용한학생정보프로그램 10.5 다중뷰 실습 10-3 다중뷰만들기 도큐먼트 CDocument 클래스 데이터를관리하는클래스 OnNewDocument() 함수 새로운도큐먼트를만드는기능
More informationMicrosoft PowerPoint - Chapter 6.ppt
6.Static 멤버와 const 멤버 클래스와 const 클래스와 static 연결리스트프로그램예 Jong Hyuk Park 클래스와 const Jong Hyuk Park C 의 const (1) const double PI=3.14; PI=3.1415; // 컴파일오류 const int val; val=20; // 컴파일오류 3 C 의 const (1)
More information제8장 자바 GUI 프로그래밍 II
제8장 MVC Model 8.1 MVC 모델 (1/7) MVC (Model, View, Controller) 모델 스윙은 MVC 모델에기초를두고있다. MVC란 Xerox의연구소에서 Smalltalk 언어를바탕으로사용자인터페이스를개발하기위한방법 MVC는 3개의구성요소로구성 Model : 응용프로그램의자료를표현하기위한모델 View : 자료를시각적으로 (GUI 방식으로
More informationMicrosoft PowerPoint - chap06-2pointer.ppt
2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.
More informationC++ Programming
C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout
More information<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>
Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.
More informationMicrosoft PowerPoint - Chap12-OOP.ppt
객체지향프로그래밍 (Object Oriented Programming) 12 장강사 강대기 차례 (Agenda) 멤버에대한동적메모리할당 암시적 / 명시적복사생성자 암시적 / 명시적오버로딩대입연산자 생성자에 new 사용하기 static 클래스멤버 객체에위치지정 new 사용하기 객체를지시하는포인터 StringBad 클래스 멤버에포인터사용 str static 멤버
More information1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할
15 장기타주제들 auto_ptr 변환함수 cast 연산자에의한명시적형변환실행시간타입정보알아내기 (RTTI) C++ 프로그래밍입문 1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout > *p; if (*p
More informationPowerPoint Template
9. 객체지향프로그래밍 대구가톨릭대학교 IT 공학부 소프트웨어공학연구실 목차 2 9.1 개요 9.2 객체지향프로그래밍언어 9.3 추상자료형 9.4 상속 9.5 동적바인딩 9.1 객체지향의개념 (1) 3 객체지향의등장배경 소프트웨어와하드웨어의발전불균형 소프트웨어모듈의재사용과독립성을강조 객체 (object) 란? 우리가다루는모든사물을일컫는말 예 ) 하나의점, 사각형,
More informationSOFTBASE XFRAME DEVELOPMENT GUIDE SERIES ActiveX 컴포넌트가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax
SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES 2012.02.18 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone 02-2108-8030 Fax 02-2108-8031 www.softbase.co.kr Copyright 2010 SOFTBase Inc. All rights reserved 목차 1 장 : ActiveX
More informationMicrosoft PowerPoint - chap10-함수의활용.pptx
#include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 중 값에 의한 전달 방법과
More informationISP and CodeVisionAVR C Compiler.hwp
USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler http://www.avrmall.com/ November 12, 2007 Copyright (c) 2003-2008 All Rights Reserved. USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler
More information작성자 : 김성박\(삼성 SDS 멀티캠퍼스 전임강사\)
Session 을이용한현재로그인한사용자의 숫자구하기 작성자 : 김성박 ( 삼성 SDS 멀티캠퍼스전임강사 ) email : urstory@nownuri.net homepage : http://sunny.sarang.net - 본문서는http://sunny.sarang.net JAVA강좌란 혹은 http://www.javastudy.co.kr 의 칼럼 란에서만배포합니다.
More informationNo Slide Title
클래스와객체 이충기 명지대학교컴퓨터공학과 들어가며 Q: 축구게임에서먼저공격하는팀을정하기위해동전을던진다. 우리는동전을던질때앞면이나오느냐아니면뒷면이나오느냐에만관심이있다. 또한동전을가지고해야할일은동전을던지는것과동전을던진후결과를알면된다. 이동전을효과적으로나타낼수있는방법을기술하라. A: 2 클래스와객체 객체 (object): 우리주변의어떤대상의모델이다. - 예 : 학생,
More information1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과
1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 학습내용 1. Java Development Kit(JDK) 2. Java API 3. 자바프로그래밍개발도구 (Eclipse) 4. 자바프로그래밍기초 2 자바를사용하려면무엇이필요한가? 자바프로그래밍개발도구 JDK (Java Development Kit) 다운로드위치 : http://www.oracle.com/technetwork/java/javas
More informationMicrosoft PowerPoint - ch07 - 포인터 pm0415
2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자
More informationPowerPoint Template
16-1. 보조자료템플릿 (Template) 함수템플릿 클래스템플릿 Jong Hyuk Park 함수템플릿 Jong Hyuk Park 함수템플릿소개 함수템플릿 한번의함수정의로서로다른자료형에대해적용하는함수 예 int abs(int n) return n < 0? -n : n; double abs(double n) 함수 return n < 0? -n : n; //
More information쉽게 풀어쓴 C 프로그래밍
제 5 장생성자와접근제어 1. 객체지향기법을이해한다. 2. 클래스를작성할수있다. 3. 클래스에서객체를생성할수있다. 4. 생성자를이용하여객체를초기화할수 있다. 5. 접근자와설정자를사용할수있다. 이번장에서만들어볼프로그램 생성자 생성자 (constructor) 는초기화를담당하는함수 생성자가필요한이유 #include using namespace
More informationMicrosoft PowerPoint - additional03.ppt [호환 모드]
3. 클래스의기본 객체지향프로그래밍소개 구조체와클래스 클래스의정의 Jong Hyuk Park 객체지향프로그래밍소개 Jong Hyuk Park 구조적프로그래밍개념 기존 C와같은구조적프로그래밍언어는동작되는자료와처리동작자체를서로별도로구분 처리동작과자료사이의관계가서로밀접한연관성을갖지못함 프로그램이커지거나복잡해지면프로그램이혼란스럽게되어에러를찾는디버깅및프로그램의유지보수가어려워짐
More information슬라이드 1
한국산업기술대학교 제 4 강프레임리스너 (Frame Listener) 이대현교수 학습안내 학습목표 프레임리스너를이용하여게임루프를구현하는방법을이해한다. 오우거엔짂의키입력처리방식을이해한다. 학습내용 프레임리스너의개념프레임리스너를이용한게임캐릭터의이동캐릭터의이동속도조절 OIS 입력시스템을이용한키보드입력의처리 기본게임루프 Initialization Game Logic
More informationMicrosoft PowerPoint - additional01.ppt [호환 모드]
1.C 기반의 C++ part 1 함수 오버로딩 (overloading) 디폴트매개변수 (default parameter) 인-라인함수 (in-line function) 이름공간 (namespace) Jong Hyuk Park 함수 Jong Hyuk Park 함수오버로딩 (overloading) 함수오버로딩 (function overloading) C++ 언어에서는같은이름을가진여러개의함수를정의가능
More informationSQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자
SQL Developer Connect to TimesTen 유니원아이앤씨 DB 팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 2010-07-28 작성자 김학준 최종수정일 2010-07-28 문서번호 20100728_01_khj 재개정이력 일자내용수정인버전
More informationTcl의 문법
월, 01/28/2008-20:50 admin 은 상당히 단순하고, 커맨드의 인자를 스페이스(공백)로 단락을 짓고 나열하는 정도입니다. command arg1 arg2 arg3... 한행에 여러개의 커맨드를 나열할때는, 세미콜론( ; )으로 구분을 짓습니다. command arg1 arg2 arg3... ; command arg1 arg2 arg3... 한행이
More informationSlide 1
SeoulTech 2011-2 nd 프로그래밍입문 (2) Chapter 14. 상속 박종혁교수 (http://www.parkjonghyuk.net) Tel: 970-6702 Email: jhpark1@snut.ac.kr Learning Objectives 상속의기본 파생클래스와생성자 protected: 제한자 멤버함수의재정의 상속되지않는함수들 상속을이용한프로그래밍
More information<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D>
Power Java 제 26 장애플릿 이번장에서학습할내용 애플릿소개 애플릿작성및소개 애플릿의생명주기 애플릿에서의그래픽컴포넌트의소개 Applet API의이용 웹브라우저상에서실행되는작은프로그램인애플릿에대하여학습합니다. 애플릿이란? 애플릿은웹페이지같은 HTML 문서안에내장되어실행되는자바프로그램이다. 애플릿을실행시키는두가지방법 1. 웹브라우저를이용하는방법 2. Appletviewer를이용하는방법
More informationPowerPoint Presentation
객체지향프로그래밍 인터페이스, 람다식, 패키지 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 홈네트워킹 public interface RemoteControl { public void turnon(); // 가전제품을켠다. public void turnoff(); // 가전제품을끈다. 인터페이스를구현 public class Television
More informationMicrosoft PowerPoint - 09-CE-14-리스트콤보박스
순천향대학교컴퓨터학부이상정 1 학습내용 리스트박스컨트롤 다이얼로그와리스트박스 콤보박스컨트롤 순천향대학교컴퓨터학부이상정 2 리스트박스컨트롤 순천향대학교컴퓨터학부이상정 3 리스트박스컨트롤 사용자가선택할수있는항목들을여러개나열해두고선택할수있는컨트롤 윈도우클래스의이름은 "listbox" 생성예 hlist=createwindow(l"listbox",null,ws_child
More information금오공대 컴퓨터공학전공 강의자료
C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include
More information슬라이드 1
-Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역
More information歯MDI.PDF
E08 MDI SDI(Single Document Interface) MDI(Multiple Document Interface) MDI (Client Window) (Child) MDI 1 MDI MDI MDI - File New Other Projects MDI Application - MDI - OK [ 1] MDI MDI MDI MDI Child MDI
More information어댑터뷰
04 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adatper View) 란? u 어댑터뷰의항목하나는단순한문자열이나이미지뿐만아니라, 임의의뷰가될수 있음 이미지뷰 u 커스텀어댑터뷰설정절차 1 2 항목을위한 XML 레이아웃정의 어댑터정의 3 어댑터를생성하고어댑터뷰객체에연결
More informationC# Programming Guide - Types
C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든
More information[Brochure] KOR_TunA
LG CNS LG CNS APM (TunA) LG CNS APM (TunA) 어플리케이션의 성능 개선을 위한 직관적이고 심플한 APM 솔루션 APM 이란? Application Performance Management 란? 사용자 관점 그리고 비즈니스 관점에서 실제 서비스되고 있는 어플리케이션의 성능 관리 체계입니다. 이를 위해서는 신속한 장애 지점 파악 /
More informationADP-2480
Mitsubishi PLC 접속 GP 는 Mitsubishi FX Series 와통신이가능합니다. 시스템구성 6 7 8 GP-80 RS- Cable RS-C Cable FXN--BD FXN--BD 6 FX Series(FXS,FXN,FXN,FXNC, FXU) 7 FXS, FXN 8 FXN FX Series 는기본적으로 RS- 통신을하며, RS-/ converter
More informationU.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형
AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형 언어 변환 1.4. 기대 효과 4.4. 프로그램 Restructuring 4.5. 소스 모듈 관리 2. SeeMAGMA 적용 전략 2.1. SeeMAGMA
More information자바 웹 프로그래밍
Chapter 00. 강의소개 Chapter 01. Mobile Application Chapter 02. 기본프로그래밍 강의내용최근큰인기를끌고있는 Mobile Application 에관한소개및실제이를위한개발방법을소개하며, Application 개발에관한프로그래밍을간략히진행 강의목표 - 프로그래밍의기본흐름이해 - 창의 SW 설계에서프로그래밍을이용한프로젝트진행에도움을주기위함
More informationC++ Programming
C++ Programming 상속과다형성 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 상속의이해 상속과다형성 다중상속 2 상속과다형성 객체의이해 상속클래스의객체의생성및소멸 상속의조건 상속과다형성 다중상속 3 상속의이해 상속 (Inheritance) 클래스에구현된모든특성 ( 멤버변수와멤버함수 )
More information제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호
제이쿼리 () 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 CSS와마찬가지로, 문서에존재하는여러엘리먼트를접근할수있다. 엘리먼트접근방법 $( 엘리먼트 ) : 일반적인접근방법
More informationPowerPoint Presentation
객체지향프로그래밍 클래스, 객체, 메소드 손시운 ssw5176@kangwon.ac.kr 실제세계는객체로이루어진다. 2 객체와메시지 3 객체지향이란? 실제세계를모델링하여소프트웨어를개발하는방법 4 객체 5 객체란? 객체 (Object) 는상태와동작을가지고있다. 객체의상태 (state) 는객체의특징값 ( 속성 ) 이다. 객체의동작 (behavior) 또는행동은객체가취할수있는동작
More informationMF5900 Series MF Driver Installation Guide
한국어 MF 드라이버설치설명서 사용자소프트웨어 CD-ROM................................................ 1.................................................................... 1..............................................................................
More information쉽게
Power Java 제 4 장자바프로그래밍기초 이번장에서학습할내용 자바프로그램에대한기초사항을학습 자세한내용들은추후에. Hello.java 프로그램 주석 주석 (comment): 프로그램에대한설명을적어넣은것 3 가지타입의주석 클래스 클래스 (class): 객체를만드는설계도 ( 추후에학습 ) 자바프로그램은클래스들로구성된다. 그림 4-1. 자바프로그램의구조 클래스정의
More information윈도우즈프로그래밍(1)
제어문 (2) For~Next 문 윈도우즈프로그래밍 (1) ( 신흥대학교컴퓨터정보계열 ) 2/17 Contents 학습목표 프로그램에서주어진특정문장을부분을일정횟수만큼반복해서실행하는문장으로 For~Next 문등의구조를이해하고활용할수있다. 내용 For~Next 문 다중 For 문 3/17 제어문 - FOR 문 반복문 : 프로그램에서주어진특정문장들을일정한횟수만큼반복해서실행하는문장
More information제 1장 C#의 개요
C# 프로그래밍언어 MS사의앤더스헬스버그 (Anders Hejlsberg) 가고안.NET에최적화된언어컴포넌트지향프로그래밍언어자바의단점을보완 실행방법 : 자바 : 인터프리테이션, C#: 컴파일방법자바언어를대체할수있는언어 C# 의특징 객체지향언어 : 자료추상화델리게이트와이벤트멀티스레드, 예외처리연산자중복, 제네릭 C 계열의언어 C++ 와자바로부터영향을받았음. C:
More information델파이 4 IDE의 내부 (Internals of Delphi 4’s IDE)
델파이 4 IDE 의내부 (Internals of Delphi 4 s IDE) 이번장에서는델파이의통합개발환경에대하여알아보도록한다. IDE(Integrated Development Environment) 는어플리케이션을설계하고, 실행시키고, 테스트할수있도록해주는환경을말하는것으로, 프로그램을쉽게개발할수있도록도와주는기능을한다. 과거에는개발자가통합개발환경이없이텍스트에디터로소스를편집해서,
More information지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. AR
Configure Kernel Build Environment And kernel & root file system Build 2018-09-27 VLSI Design Lab 1 지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함.
More informationView Licenses and Services (customer)
빠른 빠른 시작: 시작: 라이선스, 라이선스, 서비스 서비스 및 주문 주문 이력 이력 보기 보기 고객 가이드 Microsoft 비즈니스 센터의 라이선스, 서비스 및 혜택 섹션을 통해 라이선스, 온라인 서비스, 구매 기록 (주문 기록)을 볼 수 있습니다. 시작하려면, 비즈니스 센터에 로그인하여 상단 메뉴에서 재고를 선택한 후 내 재고 관리를 선택하십시오. 목차
More informationSemantic Consistency in Information Exchange
제 6 장제어 (Control) 6.1 구조적프로그래밍 (Structured Programming) 6.2 예외 (Exceptions) Reading Chap. 7 숙대창병모 1 6.1 구조적프로그래밍 숙대창병모 2 Fortran 제어구조 10 IF (X.GT. 0.000001) GO TO 20 11 X = -X IF (X.LT. 0.000001) GO TO
More informationC++ Programming
C++ Programming 클래스와데이터추상화 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 객체지향프로그래밍 클래스와객체 2 객체지향프로그래밍 객체지향언어 (Object-Oriented Language) 프로그램을명령어의목록으로보는시각에서벗어나여러개의 독립된단위, 즉 객체 (Object) 들의모임으로파악
More informationMicrosoft PowerPoint - 2-Objective-C 기초
클래스와오브젝트 메모리관리 순천향대학교컴퓨터공학과이상정 1 Objective-C 소개 C 언어에 Smalltalk 스타일의메시지전달을결합한객체지향프로그래밍언어 Objective-C 와코코아는 Mac OS X 운영체제의핵심 개발역사 1980 년대초에 Stepstone 사의 Brad Cox 와 Tom Love 가개발 1985년에 Steve Jobs가저렴한워크스테이션개발을위해
More informationPowerPoint 프레젠테이션
상속 배효철 th1g@nate.com 1 목차 상속개념 클래스상속 부모생성자호출 메소드재정의 final 클래스와 final 메소드 protected 접근제한자 타입변환과다형성 추상클래스 2 상속개념 상속 (Inheritance) 이란? 현실세계 : 부모가자식에게물려주는행위 부모가자식을선택해서물려줌 객체지향프로그램 : 자식 ( 하위, 파생 ) 클래스가부모 (
More information쉽게 풀어쓴 C 프로그래밍
제 11 장상속 1. 상속의개념을이해한다. 2. 상속을이용하여자식클래스를작성할수있다. 3. 상속과접근지정자와의관계를이해한다. 4. 상속시생성자와소멸자가호출되는순서를이해한다. 이번장에서만들어볼프로그램 class Circle { int x, y; int radius;... class Rect { int x, y; int width, height;... 중복 상속의개요
More informationOOP
오브젝트파스칼, C++ 그리고자바의특징 (Characterisitcs of Object Pascal, C++ and Java) 자바는가장일반적인인터넷용언어이며, C++ 은아마도가장흔하게사용되는 OOP 언어일것이다. 이들과델파이에서사용되는오브젝트파스칼의언어적인측면에서의비교를해보면서 OOP 언어에대한감을조금더높여보자. OOP 언어의특징 객체지향프로그래밍 (OOP)
More information