Microsoft PowerPoint - hci2-lecture7.ppt [호환 모드]

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Microsoft PowerPoint - hci2-lecture7.ppt [호환 모드]"

Transcription

1 Overview 고급 C# 프로그래밍 년가을학기 10/12/2009 박경신 속성 (Property), 인덱서 (Indexer) 대리자 (Delegate), 이벤트 (Event) 무명메소드 (Anonymous Method) 특성 (Attribute) 제네릭 (Generic) 컬렉션 (Collections) 파일입출력 (File I/O) 어셈블리 (Assembly) Property 속성이란클래스의속성을함수적동작에의하여표현하는구성요소 필드처럼보이지만실제로는메소드처럼동작 get, set 접근자에의하여표현 클래스의내부구조를추상적으로표현하여보호 내부적으로메모리가배정되지않음 메소드처럼동작하므로 virtual, static, abstract, override 키워드사용가능 Property 속성설명 name : private로설정된 Car 클래스의멤버필드 Name : public으로설정된 Car 클래스의속성 (Property) get : read 기능을수행하는메소드 set : write기능을수행하는메소드 value : set 접근자에게전달되는인자값 public class Car { private string name; public string Name { get { return name; set { name = value;

2 Property 속성종류 Read-Write 속성 : get, set 접근자모두를사용하며 property의가장일반적인모습 Read-only 속성 :get 접근자만프로퍼티에존재하며읽을수만있는읽기전용속성 Write-only 속성 : set 접근자만사용하며멤버필드에값을쓰기만할수있는속성 Static 속성 : 클래스레벨에존재하는속성으로, 개체를만들지않고도사용이가능하며,this 키워드사용이불가능 Property public class Car { private string name; public string Name { get { return name; set { name = value; public class PropertyTest { public static void Main(string[] args) { Car c = new Car(); // set연산자호출 c.name = 아반테 "; // get 연산자호출 Console.WriteLine(c.Name); Indexer 인덱서 (indexer) 란내부적으로객체를배열처럼사용할수있게해주는일종의연산자 속성과마찬가지로모습은필드이지만실제로는메소드로작동 인덱서특징 필드처럼보이지만실제로는메소드처럼동작 get, set 접근자에의하여표현 this 키워드를반드시사용 배열에접근하는것처럼 [] 기호를사용 Indexer public class FavoriteIndexer { private Hashtable myfavorite = new Hashtable(); public string this[string kind] { get { return (string)myfavorite[kind]; set { myfavorite[kind] = value; public class IndexerTest { public static void Main(string [] args) { FavoriteIndexer in = new FavoriteIndexer (); // string indexer 의 set 연산자호출 in["fruit"] = "apple"; in["color"] = "blue"; // string indexer 의 get 연산자호출 System.Console.WriteLine(in["fruit"]); // apple System.Console.WriteLine(in["color"]); // blue

3 Delegate & Event 대리자 (Delegate) Delegate 생성 Delegate +/- Operator 이벤트 (Event) Events 동작원리 Event 구성요소 이벤트핸들러대리자 (Delegate) 이벤트를발생시키는객체 (Publisher) 이벤트에응답하는객체 (Subscriber) 이벤트매개변수 (Event Argument) 9 Delegate 대리자특징 메소드를간접호출할때사용되는 method pointer 대리자의구조는함수의포인터 ( 주소 ) 를저장하는구조 저장되는함수의원형과대리자함수의원형은반드시같아야함 ( 매개변수리스트와반환값이동일 ) 객체지향의속성중에다형성과비슷한작업을수행 프로그램의실행시에생성 Method1(int x) DoWork() { { MethodX(100); MethodX delegate... Method2(int y) { caller contract... Implementer Delegate Delegate 정의, 생성및사용 delegate 키워드를사용하여정의 new 키워드를통하여생성 Delegate 호출로메소드간접호출 // 대리자정의 public delegate void DelegateMethod(int x); // 대리자가지칭할메소드구현 public static void CallbackMethod(int x) ){ Console.WriteLine(x); (); // 대리자생성및초기화 DelegateMethod dm = new DelegateMethod(CallbackMethod); // 또는 DelegateMethod dm = CallbackMethod; 간접호출될메소드... // 대리자를이용한메소드간접호출 dm(100); // CallbackMethod(100) 호출 11 Delegate public class Click { public void MouseClick(string what) { System.Console.WriteLine(" 마우스의 {0 버튼이클릭됐습니다.",what); public void KeyBoardClick(string i what) { System.Console.WriteLine(" 키보드의 {0 버튼이클릭됐습니다.",what); public delegate void OnClick(string what); // 대리자정의 public class DelegateTest { public static void Main(string[] args) { Click c = new Click(); OnClick dm = new OnClick(c.MouseClick); dm(" 왼쪽 "); // c.mouseclick( MouseClick( 왼쪽 ) 호출 dm = new OnClick(c.KeyBoardClick); dm(" 스페이스 "); // c.keyboardclick( 스페이스 ) 호출

4 Delegate 사용예 using System; class NumClass { public int number; public NumClass() { this.number =0; public void Plus(int value) { this.number += value; public void Minus(int value) { this.number -= value; public static void PrintHello(int value) { for(int i=0;i<value;i++) Console.WriteLine("Hello"); // Callback할메소드형식으로대리자선언 public delegate void Handler(int value); class DelegateTest { NumClass c = new NumClass(); // 인스턴스메소드위임 Handler h = new Handler(c.Plus); // c.plus 대리자생성 h(10); // 대리자로 c.plus(10) 호출 => 10 Console.WriteLine( h(10)={0",c.number); // h(10)=10 c.plus(20); // 30 Console.WriteLine("c.Plus(20)={0",c.number); //c.plus(20)=30 h = new Handler(c.Minus); // c.minus 대리자생성 h(10); // 대리자로 c.minus(10) 호출 => 20 Console.WriteLine( h(10)={0",c.number); // h(10)=20 c.minus(20); // 0 Console.WriteLine( WriteLine("cMinus(20) c.minus(20)={0 {0",c.number); //cminus(20) //c.minus(20)=00 // 정적메소드위임 h = new Handler(NumClass.PrintHello); // 대리자생성 h(3); // 대리자로 NumClass.PrintHello(3) 호출 Hello 3 번출력 13 Multiple Delegate Delegate Operator Combine (+) : 대리자를결합하는연산자 Remove (-) : 대리자를제거하는연산자 NumClass c = new NumClass(); Handler d = new Handler(c.Plus) + new Handler(c.Minus); // 대리자 Combine //d = (Handler) Delegate.Combine(new Handler(c.Plus), new Handler(c.Minus)); d(10); // c.plus(10) 와 c.minus(10) 를함께호출 Console.WriteLine("c.number={0",c.number); // c.number=0 d = d -new Handler(c.Minus); // 대리자 Remove //d = (Handler) Delegate.Remove(d, new Handler(c.Minus)); d(10); // c.plus(10) 만호출 Console.WriteLine("c.number={0",c.number); b // c.number=10 d += new Handler(NumClass.PrintHello); d(5); // c.plus(5) 와 NumClass.PrintHello(5) 를함께호출 Console.WriteLine("c.number={0",c.number); i b // c.number=15 14 Multiple Delegate delegate void StringHandler(string s); class DelegateTest { public static void Hello(string s) { Console.WriteLine("Hello {0!", s); public static void Bye(string s) { Console.WriteLine( Bye Bye {0!", s); StringHandler x, y, z, w; // Hello 메소드를참조하는 x delegate 객체생성 x = new StringHandler(Hello); // Bye 메소드를참조하는 y delegate 객체생성 y = new StringHandler(Bye); // delegate x, y를결합하여 z delegate에대입 z = x + y; // 결합된 delegate z에서 x를제거한 w delegate w=z - x; 15 Console.WriteLine( 대리자 x 호출 "); x( X"); // Hello X! Console.WriteLine( 대리자 y 호출 "); y( Y"); // Bye Bye Y! Console.WriteLine( 대리자 z 호출 "); z( Z"); // Hello Z! Bye Bye Z! Console.WriteLine( 대리자 w 호출 "); w( W"); // Bye Bye W! Event Event란발생한사건을알리기위해보내는메시지 이벤트는마우스클릭, 키누름등동작의발생을알리기위해개체에서보내는메시지 GUI 컨트롤, 특정객체의상태변화를알리는신호로사용 이벤트, 이벤트발생기, 이벤트처리기로구성됨 이벤트송신기 (Publisher) 에서이벤트를발생시키고, 이벤트수신기 (Subscriber) 에서이벤트를캡처하여이벤트에응답 NET Framework에서의이벤트는 delegate 모델에기반 delegate 는이벤트에대해등록된이벤트처리기 (event handler) 목록을유지하여이벤트를발생시킨객체의발송자역할담당 16

5 Event 동작원리 이벤트송신기 (Publisher) 이벤트 (Event) 를발생하여특정객체 (Subscriber) 에게통지 이벤트수신기 (Subscriber) Publisher 특정이벤트발생시이벤트에반응하여처리할개체 Publisher로부터호출되어질이벤트처리메소드 (Event Handler) 를등록한객체 Event e Event Handler list == Delegate Invocation List Object1.method Subscribers Obj1 Request Object2.method Obj2 Delegate d Object3.method Obj3 17 Event 구성요소 이벤트핸들러대리자 (Delegate) 이벤트에응답하는메소드를가리키는대리자 닷넷프레임워크에서정의된 EventHandler 대리자형식으로선언 public delegate void EventNameEventHandler (Object sender, EventArgs e) Object sender 이벤트발생객체 EventArgs e 이벤트발생시넘겨줄추가정보, EventArgs 클래스로부터상속 추가정보를사용하지않는이벤트에대해서는닷넷프레임워크에서정의된 EventHandler 대리자이용 18 Event 구성요소 이벤트를발생시키는객체 (Publisher) 이벤트선언 event 키워드를사용하여대리자형식의필드처럼사용 인터페이스에서정의가능 public event EventNameEventHandler EventName; 이벤트를발생시키는내용을포함하는메소드 (OnEventName) 정의 이벤트를선언한클래스에서만이벤트호출 ( 발생 ) 하위클래스에서재정의하거나호출가능하도록 virtual 로정의 public class EventPub { public event MyEventHandler MyEvent; // 이벤트선언 protected virtual void OnMyEvent(EventArgs e) { if (MyEvent!= null) MyEvent(this, e); // 이벤트호출 ( 발생 ) 19 Event 구성요소 이벤트에응답하는객체 (Subscriber) 이벤트처리 (Event Handler) 메소드정의 이벤트핸들러대리자형식 하위클래스에서재정의하거나호출가능하도록 virtual 로정의 이벤트처리메소드를이벤트대리자에연결 ( 등록 ) class EventSub { virtual void MyEventH(Object sender, EventArgs e){... // 이벤트핸들러 EventPub p = new EventPub(); // publisher object EventSub s = new EventSub(); // subscriber object p.myevent += new MyEventHandler(s.MyEventH); // 이벤트핸들러등록 p.onmyevent(args); // 이벤트요청 20

6 Event 구성요소 이벤트매개변수 (Event Argument) 이벤트발생시추가할정보 이벤트핸들러로넘겨줄데이터 EventName EventArgs 클래스정의 System.EventArgs에서파생 // 이벤트매개변수클래스정의 (System.EventArgs 에서상속 ) class MyEventArgs : EventArgs { // 이벤트매개변수객체생성 MyEventArgs args = new MyEventArgs(..); // 이벤트발생시매개변수로처리 p.onmyevent(args); 21 Delegate 를통한이벤트처리 using System; namespace EventTest { public delegate void MyEventHandler(); // 대리자이벤트모델 class MyButton { // mybutton 클래스는윈도우응용프로그램이제공하는버튼컨트롤 public event MyEventHandler MyEvent; // 이벤트정의 public void OnMyEvent() { if (MyEvent!= null) MyEvent(); // 이벤트핸들러정의 class EventTest { public EventTest() { // 이벤트를가지고있는 MyButton을객체로만듦 MBtt MyButton btt button1 = new MBtt MyButton(); // 이벤트에 button1_click을위임 button1.myevent += new MyEventHandler(this.button1_Click); // 이벤트에 button1 의이벤트를호출 button1.onmyevent(); void button1_click() { Console.WriteLine( 버튼에서이벤트발생 ); static void Main(string[] args) { EventTest e = new EventTest(); // 버튼에서이벤트발생 22 Delegate 를통한이벤트추가및제거 class EventTest { 클릭이벤트추가후버튼클릭 public EventTest() { -> 클릭이벤트발생 // 이벤트를가지고있는 MyButton을객체로만듦변경이벤트추가후버튼클릭 MyButton button1 = new MyButton(); -> 클릭이벤트발생 Console.WriteLine( 클릭이벤트추가후버튼클릭 ); -> 변경이벤트발생 // 이벤트에 button1_click을위임 button1.myevent 1M t += new MyEventHandler(this.button1_Click); tt // 이벤트에 button1의이벤트를호출 button1.onmyevent(); Console.WriteLine( 변경이벤트추가후버튼클릭 ); // 이벤트에 button1_change를위임 button1.myevent += new MyEventHandler(this.button1_Change); // 이벤트에 button1 의이벤트를호출 (Click + Change 호출 ) button1.onmyevent(); void button1_click() { Console.WriteLine( WriteLine( -> 클릭이벤트발생 ); void button1_change() { Console.WriteLine( -> 변경이벤트발생 ); static void Main(string[] args) { EventTest e = new EventTest(); 23 Event 에인자전달 delegate void ClickEventHandler(string label); // delegate event class MyButton { // MyButton 클래스는윈도우응용프로그램이제공하는버튼컨트롤 public event ClickEventHandler ClickEvent; // 이벤트정의 public void OnClickEvent() { if (ClickEvent!= null) ClickEvent(label); public string Label { set { label = value; get { return label; string label; class EventTest { public EventTest() { // 이벤트를가지고있는 MyButton 을객체로만듦 MyButton button1 = new MyButton(); // 이벤트에 button1_label을위임 button1.label = 테스트 ; button1.clickevent += new ClickEventHandler(this.button1_Label); // 이벤트에 button1의이벤트를호출 button1.onclickevent(); void button1_label(string label) { Console.WriteLine( -> 클릭이벤트발생 : + label); static void Main(string[] args) { EventTest e = new EventTest();// -> 클릭이벤트발생 : 테스트 24

7 Anonymous Method 무명메소드 (Anonymous Method) 를사용하여메소드이름이아닌코드블록자체를대리자 (Delegate) 의매개변수로사용할수있음 별도의메소드를생성할필요가없으므로대리자를객체화하는데따르는코딩오버헤드를줄일수있음 public MyForm() { addbutton.click += new EventHandler(AddClick); void AddClick(object sender, EventArgs e) { MessageBox.Show(textBox.Text); public MyForm() { addbutton.click += delegate(object sender, EventArgs e) { MessageBox.Show(textBox.Text); 25 Attribute 특성 (Attribute) 은미리정의된시스템정보나사용자지정정보를대상요소 ( 어셈블리, 클래스, 구조체, 메소드등 ) 와연결시켜주는기능을가짐 Attribute 정보는 Assembly에 Metadata 형식으로저장됨 Attribute 형식 [attribute 명 ( positional_parameter, named_parameter=value,..)] Attribute는 [] 를사용하여, [] 안에 Attribute 이름, 지정위치매개변수와명명매개변수를기입 지정위치매개변수 (positional_parameter) 필수적인정보, 생성자매개변수에해당, 을사용하여값을기입 명명매개변수 (named_parameter) 선택적인정보, 속성에해당, = 를사용하여멤버필드와값을기입 내장특성에 Conditional, DllImport, AttributeUsage 등이 26 있음 Conditional Attribute Conditional 특성은조건부메소드를생성할때사용 특정전처리식별자에의해실행되는조건부메소드 C++ 에서 #if conditional #endif 전처리기지시문과유사 #define 유무에따라서호출이결정되는조건부메소드에사용 반드시 using System.Diagnostics를사용해야함 조건부메소드의반환형이 void 형을사용해야함 #define DEBUG // 만약 #undef DEBUG를하면 Conditional 부분이지나감 using System.Diagnostics; class ConditionalAttributeTest i ib { [Conditional( DEBUG )] public static void DebugInfoPrint() {. // 요부분만호출 [Conditional( REGULAR )] public static void InfoPrint() {. 27 DllImport Attribute DllImport 특성은닷넷응용프로그램에서관리되지않는 DLL 함수또는메소드를사용할수있게하는특성 반드시 using System.Runtime.InteropService를사용해야함 아래예는, Win32 API의 MessageBox 함수를호출하는경우 using System.Runtime.InteropServices; class DllImportAttributeTest { [DllImport( User32 User32.dll dll, CharSet = CharSet.Auto)] public static extern int MessageBox(int h, String text, String title, uint type) MessageBox(0, Test Win32 MessageBox, DllImportTest, 2); 28

8 Generic 제네릭 (Generic) 은다양한자료형에적용될수있는일반적인클래스를정의함 제네릭은사용할자료형을매개변수로전달받음 public class IntStack { int[] items; int count; public void Push(int item) { public int Pop() { public class FloatStack { float[] items; int count; public void Push(float item) { public float Pop() { public class Stack<T> { T[] items; int count; public void Push(T item) { public T Pop() {. Stack<int> istack = Stack<int>(); istack.push(3); int x = istack.pop(); Stack<float> fstack = Stack<float>(); fstack.push(3.0); int y = fstack.pop(); Collections 컬랙션 (Collections) 은객체를쉽게다룰수있도록여러가지클래스와인터페이스를미리정의한데이터구조 데이터구조란데이터를다루는방식을정의한것 프로그래머가일일이데이터구조를만드는불편함감소 컬랙션으로 ArrayList, SortedList, Hashtable, Stack, Queue, NameValueCollection 등이있음 컬랙션특징 데이터를보관할수있으며수정, 삭제, 삽입, 검색등의기능 컬랙션은클래스마다구현되어지는알고리즘 ( 예로, LinkedList, Hash, Stack, Queue 등 ) 이다를뿐같은부류임 동적으로메모리확장가능 Collections System.Collections의클래스와인터페이스 SortedList Stack, Queue BitArray NameValueCollections IEnumerable, IEnumerator ICollection IList IDictionary, IDictionaryEnumerator ICloneable Iserializable ArrayList Hashtable SortedList Class SortedList는 Hashtable과 ArrayList의혼합형 내부의데이터는키 (Key) 와값 (Value) 로이루어져있으며키를기준으로정렬되고키와인덱스로접근가능 내부적으로정렬된컬랙션을유지하고있는특징을가짐 public class SortedList: IDictionary, ICollection, IEnumerable, ICloneable SortedList t 특징 키의목록또는값의목록만반환하는메소드제공 내부적으로두개의배열, 즉키에대한배열과값에대한배열을유지하여요소를목록에저장 SortedList는각요소에대해키, 값또는인덱스의세가지방법으로접근 요소가삽입되면, 지정된키가이미존재하는검사 ( 중복키허용안함 )

9 SortedList Class SortedList 메소드 Add() 키와값으로데이터를삽입 Clear() 모든요소를제거 Contains() 특정키가들어있는지여부를확인 ContainsKey(), ContainsValue() 특정키 / 값이들어있는지여부확인 GetByIndex(), GetKey() 지정한인덱에서값 / 키를가져옴 GetKeyList() 키리스트를가져옴 Remove(), RemoveAt() 지정한키 / 인덱스로요소를제거 GetNumerator() IDictionaryEnumerator 를반환 Queue Class Queue 는 FIFO(First-In, First-Out) 컬랙션 FIFO 먼저들어간데이터가제일먼저나오는메모리구조를클래스화 public class Queue: ICollection, IEnumerable, ICloneable Queue 메소드 Enqueue() 메소드는큐의첫위치에요소를삽입 Dequeue() 메소드는큐의마지막위치의요소를반환하고삭제 ( 반환되는데이터형은 object형 ) Peek() 메소드는마지막위치의요소를제거하지않고반환 ( 반환되는데이터형은 object형 ) Stack Class Stack 는 LIFO(Last-In, First-Out) 컬랙션 LIFO 제일마지막에들어간데이터가제일먼저나오는메모리구조를클래스화 public class Stack: ICollection, IEnumerable, ICloneable Stack 메소드 Push() 메소드는스택의맨위에요소를삽입 Pop() 메소드는스택의맨위에있는요소를삭제하고데이터반환 ( 반환되는데이터형은 object형 ) Peek() 메소드는스택의맨위에있는요소를제거하지않고반환 ( 반환되는데이터형은 object 형 ) ArrayList Class ArrayList 는 ILIST 를구현한대표적인클래스 ArrayList 는데이터를삽입했을때순서대로삽입되며중간삽입이나제거또한가능 public class ArrayList: IList, ICollection, IEnumerable, ICloneable ArrayList 메소드 Add(), AddRange() 메소드는데이터 / 데이터리스트삽입 Insert() 메소드는중간에데이터삽입 Remove(), RemoveAt(), RemoveRange() 메소드는해당요소제거또는인덱스로요소제거또는범위만큼요소제거 Sort() 메소드는요소정렬 GetEnumerator() 메소드는 IEnumerator를반환

10 Hashtable Class Hashtable 은 IDictionary 를구현한대표적인클래스 내부의데이터는키 (Key) 와값 (Value) 을이용 public class Hashtable: IDictionary, ICollection, IEnumerable, Hashtable 메소드 ISerializable, IDeserializationCallback, ICloneable Add() 메소드는 ( 키, 변수 ) 로된데이터삽입 Clear() 메소드는모든요소제거 Remove() 메소드는키를확인하여요소삭제 ContainsKey(), ContainsValue() 메소드는특정키 / 값을포함하는지확인 CopyTo() 메소드는해쉬테이블에있는원소를 1차원배열로복사 Keys, Values 속성은 ICollection 으로반환 GetEnumerator() 메소드는 IEnumerator를반환 Collections Interface Ienumerable 인터페이스 GetEnumerator() IEnumerator 개체를반환 IEnumerator 인터페이스 내부에서 IEnumerable을사용하여데이터검색기능제공 Current 속성 컬랙션에서현재객체에대한참조를반환 MoveNext() 다음요소로이동 Reset() Current 포인터를컬랙션의처음앞으로설정 ICollection 인터페이스 Count 속성 컬랙션의객체수를반환 IsSynchronized 속성 - 다중스레드된액세스를위해컬랙션에대한액세스를동기화한경우 true 반환 SyncRoot 속성 하나이상의코드문장이동시에한스레드에만실행되는것을확실하게하기위해잠그거나해제 CopyTo() 지정한배열위치부터컬랙션요소를배열로복사 Collections Interface IList 인터페이스 ICollection 인터페이스에서파생된것으로 IEnumerable과 ICollection 기능을모두포함 IsFixedSize 속성 리스트가고정길이리스트인지확인 IsReadOnly 속성 리스트가읽기전용인지확인 인덱서속성 인덱스값으로데이터를얻거나추가 Add() 리스트끝에데이터를추가 Clear() 리스트내의모든데이터를제거 Contains() 어떤데이터가리스트내에존재하는지여부확인 IndexOf() 리스트내의특정데이터의위치를반환 Insert() 리스트내의특정위치에데이터를삽입 Remove() 매개변수로입력된객체를리스트내에서제거 RemoveAt() 지정한인덱스의데이터를제거 Collections Interface IDictionary 인터페이스 순서에의존하는 IList와달리키와값으로대응시켜데이터를추출 IsFixedSize 속성 컬랙션의크기가정해져있는지검사 IsReadOnly 속성 컬랙션이읽기전용인지확인 Keys 속성 컬랙션내의모든키를나열 Values 속성 컬랙션내의모든값을나열 Add() 키와값을전달하여데이터를컬랙션에추가 Clear() 컬랙션의모든데이터를제거 Contains() 특정키가데이터와연관되어있는지검사 GetEnumerator() IDictionaryEnumerator 반환 Remove() 삭제할값의키를전달하여데이터를컬랙션에서제거 IDictionaryEnumerator 인터페이스 DictionaryEntry 속성 열거요소내의키와값을가져옴 Key 속성 열거요소내의키를가져옴 Value 속성 열거요소내의값을가져옴

11 FILE I/O 스트림 (Stream) 자료의입출력을도와주는추상적인개념의중간매체 입력스트림 (Input Stream) 은데이터를스트림으로읽어들임 출력스트림 (Output Stream) 은데이터를스트림으로내보냄 스트림을사용하는곳 파일 키보드, 모니터, 마우스 메모리 네트워크 프린트 FILE I/O 입출력스트림 (Input/Output Stream) 클래스 FileStream 클래스 파일에스트림을생성하는클래스 BufferedStream 클래스 버퍼기능을가진바이트스트림 MemoryStream 클래스 메모리에입출력바이트스트림 TextReader & TextWriter 클래스 문자스트림입출력추상클래스 StringReader & StringWriter 클래스 string 입출력스트림 BinaryReader & BinaryWriter 클래스 데이터타입의메모리사이즈에따른바이너리입출력스트림 파일 (File) 과디렉토리 (Directory) 클래스 FileSystemInfo 파일시스템객체를나타내는기본클래스 Directory, DirectoryInfo 디렉토리를나타내는기본클래스 File, FileInfo 파일을나타내는기본클래스 Path 경로클래스 FILE I/O File 클래스 I/O 기본클래스로파일에관련된정보를제공하거나, FileStream의객체를생성하여파일의 I/O작업을수행 sealed 키워드를사용하여클래스의상속을막음 멤버메소드들이 public static으로선언 using System.IO 를사용 파일관련메소드제공 Create, Copy, Move, Delete 파일을생성, 복사, 이동, 삭제 Open, OpenRead, OpenText, OpenWrite 파일열기 AppendText 유니코드텍스트를추가하는 StreamWriter 생성 Exists - 파일존재여부를확인 SetCreationTime, GetCreationTime 파일이생성된날짜와시간 SetAttributes, GetAttributes 파일의지정된 FileAttributes 등등 FILE I/O Directory 클래스 디렉토리생성, 이동, 삭제, 디렉토리존재여부, 하위디렉토리들의이름, 디렉토리내의파일이름의정보를알아내는데사용하는클래스 sealed 키워드를사용하여클래스의상속을막음 멤버메소드들이 public static으로선언 디렉토리관련메소드제공 CreateDirectory, Delete 디렉토리생성, 이동, 삭제 Exists 디렉토리존재여부를확인 GetFiles 디렉토리에있는파일목록배열반환 GetDirectories 디렉토리에있는하위디렉토리목록배열반환

12 FILE I/O Path 클래스 파일이나디렉토리의경로 (Path) 를확장및변경, 수정하는클래스 sealed 키워드를사용하여클래스의상속을막음 멤버필드와메소드들이 public static ti 으로선언 경로관련필드와메소드제공 DirectorySeparatorChar 디렉토리구분자캐릭터 Combine 경로들결합 GetFileName 경로에서파일이름을얻기 FILE I/O FileStream 클래스 파일입출력뿐만아니라파일과관련된다른운영체제의핸들 ( 파이프, 표준입력, 표준출력등 ) 을읽고쓰는데도유용하게사용 바이트스트림이아닌문자스트림을사용하기위해서는 FileStream을 StreamReader와 StreamWriter로변환하여사용 using System.IO; class FileTest { FileStream fs = File.OpenRead( C:/Test.txt ); StreamReader r = new // 한글처리시필요 StreamReader(fs, System.Text.Encoding.Default); r.basestream.seek(0, S SeekOrigin.Begin); i i while(r.peek() > -1) { r.readline();. r.close(); FILE I/O using System.IO; class FileTest { string path C:\Output.txt FileStream fs = new FileStream(path, FileMode.Create); StreamWriter w = new // 한글처리시필요 StreamWriter(fs, System.Text.Encoding.Default); t //w.basestream.seek(0, SeekOrigin.Begin); w.basestream.seek(0, SeekOrigin.End); // 맨뒤에추가 w.writeline(); //. 중간생략 w.flush(); // 스트림에기록한모든데이터를밀어내는역할 wclose(); w.close(); Assembly COM 이미사용중인검증된코드의재사용을위해 COM 활용 서로다른언어로작성된 Binary 타입공유를위해 COM 서버생성 Client 에서 COM 서버를호출할때 COM 서버의버전을확인할수없음 COM 서버위치나이름이바뀌게되면 Registry의변경이쉽지않음 Assembly 어셈블리란.exe,.dll과같은프로그램의제일작은실행단위 배포의단위로써코드재사용및버전관리를가능하게하는단위 Class 접근제한자인 internal의허용단위 같은 COM DLL에대한서로다른버전동시제공가능 ( 즉, Client가원하는버전을파악하여해당버전을로딩 ) 어셈블리내에자신에대한메타데이터를포함하여배포는해당파일을원하는위치에복사함 ( 즉, Registry에등록하지않음 ) Native Code가아니라 MSIL이라는중간코드

13 Assembly 어셈블리의구성 Manifest - 다른어셈블리를참조한다면그정보가필요함 Type Metadata - 어셈블리안에존재하는클래스, 속성, 메소드, 변수등에대한정보 MSIL 컴파일했을때만들어지는실제실행파일 Resource - 어셈블리가사용하는리소스이며해당프로그램의이미지나텍스트, 아이콘등 Assembly ILDASM 도구 Visual C++ 의 dumpbin.exe나 Turbo C의 tdump.exe에해당하는유틸리티로실행파일의내부구조를보여줌 메니페스트메타정보를표시.assembly.class : 해당어셈블리내에존재하는클래스파일의정보를보여줌.method : 해당어셈블리내에존재하는메소드의정보를보여줌.ctor : constructor 파일의약자로생성자를의미 Assembly C# DLL 생성 새프로젝트 -> 템플렛 -> 클래스라이브러리선택 어셈블리로사용할기능은 *.cs 파일로작성 컴파일은 *dll *.dll 파일로작성 C# DLL 활용 해당어셈블리가필요한곳에서 DLL 참조하여사용 해당어셈블리의네임스페이스 using 어셈블리의속성, 메소드사용 Assembly csc 컴파일러를사용한 C# DLL 생성및활용예 Point 클래스와 Point3D 클래스를 PointLib 라이브러리로생성 csc /out:pointlib.dll /t:library Point.cs Point3D.cs PointTest t 클래스에서 PointLib 라이브러리사용 csc /out:pointtest.exe /reference:pointlib.dll PointTest.cs 작업한어셈블리참조추가하기

선형대수학 Linear Algebra

선형대수학  Linear Algebra 배열, 컬렉션, 인덱서 array, collection, indexer 소프트웨어학과 HCI 프로그래밍강좌 배열 배열 (array) 동일한자료형을다수선언 선언형식 데이터형식 [ ] 배열이름 = new 데이터형식 [ 개수 ]; int[ ] array = new int[5]; 인덱스 (index) 는 0 에서시작 scores[0] = 80; scores[1] =

More information

gnu-lee-oop-kor-lec06-3-chap7

gnu-lee-oop-kor-lec06-3-chap7 어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base

More information

Chapter 4. LISTS

Chapter 4. LISTS C 언어에서리스트구현 리스트의생성 struct node { int data; struct node *link; ; struct node *ptr = NULL; ptr = (struct node *) malloc(sizeof(struct node)); Self-referential structure NULL: defined in stdio.h(k&r C) or

More information

Microsoft PowerPoint - 04-UDP Programming.ppt

Microsoft PowerPoint - 04-UDP Programming.ppt Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여

More information

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 11 장상속 이번장에서학습할내용 상속이란? 상속의사용 메소드재정의 접근지정자 상속과생성자 Object 클래스 종단클래스 상속을코드를재사용하기위한중요한기법입니다. 상속이란? 상속의개념은현실세계에도존재한다. 상속의장점 상속의장점 상속을통하여기존클래스의필드와메소드를재사용 기존클래스의일부변경도가능 상속을이용하게되면복잡한 GUI 프로그램을순식간에작성

More information

오버라이딩 (Overriding)

오버라이딩 (Overriding) WindowEvent WindowEvent 윈도우가열리거나 (opened) 닫힐때 (closed) 활성화되거나 (activated) 비활성화될때 (deactivated) 최소화되거나 (iconified) 복귀될때 (deiconified) 윈도우닫힘버튼을누를때 (closing) WindowEvent 수신자 abstract class WindowListener

More information

untitled

untitled - -, (insert) (delete) - - (insert) (delete) (top ) - - (insert) (rear) (delete) (front) A A B top A B C top push(a) push(b) push(c) A B top pop() top A B D push(d) top #define MAX_STACK_SIZE 100 int

More information

슬라이드 1

슬라이드 1 핚국산업기술대학교 제 14 강 GUI (III) 이대현교수 학습안내 학습목표 CEGUI 라이브러리를이용하여, 게임메뉴 UI 를구현해본다. 학습내용 CEGUI 레이아웃의로딩및렌더링. OIS 와 CEGUI 의연결. CEGUI 위젯과이벤트의연동. UI 구현 : 하드코딩방식 C++ 코드를이용하여, 코드내에서직접위젯들을생성및설정 CEGUI::PushButton* resumebutton

More information

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1); void method() 2); void method1() public class Test 3); args) A 제 10 장상속 예제 1) ConstructorTest.java class Parent public Parent() super - default"); public Parent(int i) this("hello"); super(int) constructor" + i); public Parent(char c) this(); super(char) constructor

More information

07 자바의 다양한 클래스.key

07 자바의 다양한 클래스.key [ 07 ] . java.lang Object, Math, String, StringBuffer Byte, Short, Integer, Long, Float, Double, Boolean, Character. java.util Random, StringTokenizer Calendar, GregorianCalendar, Date. Collection, List,

More information

(8) getpi() 함수는정적함수이므로 main() 에서호출할수있다. (9) class Circle private double radius; static final double PI= ; // PI 이름으로 로초기화된정적상수 public

(8) getpi() 함수는정적함수이므로 main() 에서호출할수있다. (9) class Circle private double radius; static final double PI= ; // PI 이름으로 로초기화된정적상수 public Chapter 9 Lab 문제정답 1. public class Circle private double radius; static final double PI=3.141592; // PI 이름으로 3.141592 로초기화된정적상수 (1) public Circle(double r) radius = r; (2) public double getradius() return

More information

BMP 파일 처리

BMP 파일 처리 BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)

More information

교육자료

교육자료 THE SYS4U DODUMENT Java Reflection & Introspection 2012.08.21 김진아사원 2012 SYS4U I&C All rights reserved. 목차 I. 개념 1. Reflection 이란? 2. Introspection 이란? 3. Reflection 과 Introspection 의차이점 II. 실제사용예 1. Instance의생성

More information

* Factory class for query and DML clause creation * tiwe * */ public class JPAQueryFactory implements JPQLQueryFactory private f

* Factory class for query and DML clause creation * tiwe * */ public class JPAQueryFactory implements JPQLQueryFactory private f JPA 에서 QueryDSL 사용하기위해 JPAQuery 인스턴스생성방법 http://ojc.asia, http://ojcedu.com 1. JPAQuery 를직접생성하기 JPAQuery 인스턴스생성하기 QueryDSL의 JPAQuery API를사용하려면 JPAQuery 인스턴스를생성하면된다. // entitymanager는 JPA의 EntityManage

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 9 강. 클래스의활용목차 멤버함수의외부정의 this 포인터 friend 선언 static 멤버 임시객체 1 /17 9 강. 클래스의활용멤버함수의외부정의 멤버함수정의구현방법 내부정의 : 클래스선언내에함수정의구현 외부정의 클래스선언 : 함수프로토타입 멤버함수정의 : 클래스선언외부에구현

More information

MySQL-.. 1

MySQL-.. 1 MySQL- 기초 1 Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-08-25 Jinseog Kim Dongguk University jinseog.kim@gmail.com MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition

More information

Microsoft PowerPoint - Lect04.pptx

Microsoft PowerPoint - Lect04.pptx OBJECT ORIENTED PROGRAMMING Object Oriented Programming 이강의록은 Power Java 저자의강의록을사용했거나재편집된것입니다. Class 와 object Class 와객체 클래스의일생 메소드 필드 String Object Class 와객체 3 클래스 클래스의구성 클래스 (l (class): 객체를만드는설계도 클래스로부터만들어지는각각의객체를특별히그클래스의인스턴스

More information

슬라이드 1

슬라이드 1 UNIT 16 예외처리 로봇 SW 교육원 3 기 최상훈 학습목표 2 예외처리구문 try-catch-finally 문을사용핛수있다. 프로그램오류 3 프로그램오류의종류 컴파일에러 (compile-time error) : 컴파일실행시발생 럮타임에러 (runtime error) : 프로그램실행시발생 에러 (error) 프로그램코드에의해서해결될수없는심각핚오류 ex)

More information

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - CSharp-10-예외처리 10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.

More information

class Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++,

class Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++, Level 1은객관식사지선다형으로출제예정 1. 다음은 POST(Post of Sales Terminal) 시스템의한콜레보레이션다이어그램이다. POST 객체의 enteritem(upc, qty) 와 Sale 객체의 makellineitem(spec,qty) 를 Java 또는 C ++, C # 언어로구현하시오. 각메소드구현과관련하여각객체내에필요한선언이있으면선언하시오.

More information

Microsoft Word - FunctionCall

Microsoft Word - FunctionCall Function all Mechanism /* Simple Program */ #define get_int() IN KEYOARD #define put_int(val) LD A val \ OUT MONITOR int add_two(int a, int b) { int tmp; tmp = a+b; return tmp; } local auto variable stack

More information

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 6.1 함수프로시저 6.2 서브프로시저 6.3 매개변수의전달방식 6.4 함수를이용한프로그래밍 3 프로시저 (Procedure) 프로시저 (Procedure) 란무엇인가? 논리적으로묶여있는하나의처리단위 내장프로시저 이벤트프로시저, 속성프로시저, 메서드, 비주얼베이직내장함수등

More information

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600 균형이진탐색트리 -VL Tree delson, Velskii, Landis에의해 1962년에제안됨 VL trees are balanced n VL Tree is a binary search tree such that for every internal node v of T, the heights of the children of v can differ by at

More information

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp 1 0 1.7 6 5 'A ' '/ u 4 4 2 2 ' " JS P 프로그래밍 " A ', 'b ', ' 한 ', 9, \ u d 6 5 4 ' c h a r a = 'A '; 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 < % @ p a g e c o n te n

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 KeyPad Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 에는 16 개의 Tack Switch 를사용하여 4 행 4 열의 Keypad 가장착 4x4 Keypad 2 KeyPad 를제어하기위하여 FPGA 내부에 KeyPad controller 가구현 KeyPad controller 16bit 로구성된

More information

A Tour of Java V

A Tour of Java V A Tour of Java V Sungjoo Ha April 3rd, 2015 Sungjoo Ha 1 / 28 Review First principle 문제가생기면침착하게영어로구글에서찾아본다. 타입은가능한값의집합과연산의집합을정의한다. 기본형이아니라면이름표가메모리에달라붙는다. 클래스로사용자정의타입을만든다. 프로그래밍은복잡도관리가중요하다. OOP 는객체가서로메시지를주고받는방식으로프로그램을구성해서복잡도관리를꾀한다.

More information

<4D F736F F D20BEBEBCA520C4DAB5F920BFACBDC0202D20C4C3B7BABCC72C20DFED2E646F6378>

<4D F736F F D20BEBEBCA520C4DAB5F920BFACBDC0202D20C4C3B7BABCC72C20DFED2E646F6378> C# 코딩연습 컬렉션, 序 2008-03-12 김태현 (kimgwajang@hotmail.com) 이문서는세편으로기획된 C# 코딩연습 컬렉션 시리즈중첫번째입니다. 이시리즈는 닷넷프레임웍에서차지하는컬렉션의높은비중을이해하고, 이를효율적으로사용하여코드의 품질을높이는방법에대한고민을나누는것을목적으로기획되었습니다. 현재이시리즈는총세편으로기획되어있으며각각의주제는다음과같습니다.

More information

C 프로그래밍 언어 입문 C 프로그래밍 언어 입문 김명호저 숭실대학교 출판국 머리말..... C, C++, Java, Fortran, Python, Ruby,.. C. C 1972. 40 C.. C. 1999 C99. C99. C. C. C., kmh ssu.ac.kr.. ,. 2013 12 Contents 1장 프로그래밍 시작 1.1 C 10 1.2 12

More information

Microsoft PowerPoint - 14주차 강의자료

Microsoft PowerPoint - 14주차 강의자료 Java 로만드는 Monster 잡기게임예제이해 2014. 12. 2 게임화면및게임방법 기사초기위치 : (0,0) 아이템 10 개랜덤생성 몬스터 10 놈랜덤생성 Frame 하단에기사위치와기사파워출력방향키로기사이동아이템과몬스터는고정종료버튼클릭하면종료 Project 구성 GameMain.java GUI 환경설정, Main Method 게임객체램덤위치에생성 Event

More information

Microsoft PowerPoint - 08-Queue.ppt

Microsoft PowerPoint - 08-Queue.ppt Chapter Queue ( 큐 ) Dongwon Jeong djeong@kunsan.ac.kr Department of Informatics & Statistics 학습목표 큐의개념및추상데이터타입에대한이해 큐의구현방법 배열 링크드리스트 덱 / 데크의개념과구현방법 큐 (QUEUE) 큐 : 먼저들어온데이터가먼저나가는자료구조 선입선출 (FIFO: First-In

More information

Microsoft PowerPoint - CSharp-2-기초문법

Microsoft PowerPoint - CSharp-2-기초문법 2 장. C# 기초문법 자료형 제어문 배열 연산자 순천향대학교컴퓨터학부이상정 1 자료형 순천향대학교컴퓨터학부이상정 2 CTS CTS(Common Type System) 닷넷기반의여러언어에서공통으로사용되는자료형 언어별로서로다른자료형을사용할때발생할수있는호환성문제를해결 값 (Value) 형과참조 (Reference) 형을지원 CTS가제공하는모든자료형은 System.Object를상속받아구현

More information

비긴쿡-자바 00앞부속

비긴쿡-자바 00앞부속 IT COOKBOOK 14 Java P r e f a c e Stay HungryStay Foolish 3D 15 C 3 16 Stay HungryStay Foolish CEO 2005 L e c t u r e S c h e d u l e 1 14 PPT API C A b o u t T h i s B o o k IT CookBook for Beginner Chapter

More information

01-OOPConcepts(2).PDF

01-OOPConcepts(2).PDF Object-Oriented Programming Concepts Tel: 02-824-5768 E-mail: hhcho@selabsoongsilackr? OOP (Object) (Encapsulation) (Message) (Class) (Inheritance) (Polymorphism) (Abstract Class) (Interface) 2 1 + = (Dependency)

More information

JAVA PROGRAMMING 실습 05. 객체의 활용

JAVA PROGRAMMING 실습 05. 객체의 활용 2015 학년도 2 학기 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

More information

05-class.key

05-class.key 5 : 2 (method) (public) (private) (interface) 5.1 (Method), (public method) (private method) (constructor), 3 4 5.2 (client). (receiver)., System.out.println("Hello"); (client object) (receiver object)

More information

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상 Android 용 Brother Image Viewer 설명서 버전 0 KOR 아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상표입니다. Android는

More information

자바 프로그래밍

자바 프로그래밍 5 (kkman@mail.sangji.ac.kr) (Class), (template) (Object) public, final, abstract [modifier] class ClassName { // // (, ) Class Circle { int radius, color ; int x, y ; float getarea() { return 3.14159

More information

5장.key

5장.key JAVA Programming 1 (inheritance) 2!,!! 4 3 4!!!! 5 public class Person {... public class Student extends Person { // Person Student... public class StudentWorker extends Student { // Student StudentWorker...!

More information

Slide 1

Slide 1 SeoulTech 2011-2 nd 프로그래밍입문 (2) Chapter 6. 구조체와클래스 박종혁교수 (http://www.parkjonghyuk.net) Tel: 970-6702 Email: jhpark1@snut.ac.kr Learning Objectives 구조체 구조체형 함수매개변수로서의구조체 구조체초기화 클래스 정의, 멤버함수 public 과 private

More information

Microsoft PowerPoint - ÀÚ¹Ù08Àå-1.ppt

Microsoft PowerPoint - ÀÚ¹Ù08Àå-1.ppt AWT 컴포넌트 (1) 1. AWT 패키지 2. AWT 프로그램과이벤트 3. Component 클래스 4. 컴포넌트색칠하기 AWT GUI 를만들기위한 API 윈도우프로그래밍을위한클래스와도구를포함 Graphical User Interface 그래픽요소를통해프로그램과대화하는방식 그래픽요소를 GUI 컴포넌트라함 윈도우프로그램만들기 간단한 AWT 프로그램 import

More information

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET 135-080 679-4 13 02-3430-1200 1 2 11 2 12 2 2 8 21 Connection 8 22 UniSQLConnection 8 23 8 24 / / 9 3 UniSQL 11 31 OID 11 311 11 312 14 313 16 314 17 32 SET 19 321 20 322 23 323 24 33 GLO 26 331 GLO 26

More information

C# 입문 : 이론과 실습

C# 입문 : 이론과 실습 식 (expression) 문장에서값을계산하는데사용식은연산자 (operator) 와피연자 (operand) 로구성식의값에따라 산술식, 관계식, 논리식으로구분 연산자 (operator) 식의의미를결정피연산자가어떻게계산될지를나타내는기호 C# 언어스펙 48개의연산자정의 연산자종류 산술연산자 : + - * / % 단항 + 단항 - 관계연산자 : > >= <

More information

제 1 장 기본 개념

제 1 장 기본 개념 이진트리순회와트리반복자 트리순회 (tree traversal) 트리에있는모든노드를한번씩만방문 순회방법 : LVR, LRV, VLR, VRL, RVL, RLV L : 왼쪽이동, V : 노드방문, R : 오른쪽이동 왼쪽을오른쪽보다먼저방문 (LR) LVR : 중위 (inorder) 순회 VLR : 전위 (preorder) 순회 LRV : 후위 (postorder)

More information

2. QUEUE OPERATIONS Initialize the queue Insert to the rear of the queue (also called as Enqueue) Remove (Delete) from the front of the queue (also ca

2. QUEUE OPERATIONS Initialize the queue Insert to the rear of the queue (also called as Enqueue) Remove (Delete) from the front of the queue (also ca Queues The name "queue" likely comes from the everyday use of the term. Consider: queue of people waiting at a bus stop, as pictured in fig. below. Each new person who comes and takes his or her place

More information

12-file.key

12-file.key 11 (String).. java.lang.stringbuffer. s String s = "abcd"; s = s + "e"; a b c d e a b c d e ,., "910359,, " "910359" " " " " (token) (token),, (delimiter). java.util.stringtokenizer String s = "910359,,

More information

Microsoft PowerPoint - 03-TCP Programming.ppt

Microsoft PowerPoint - 03-TCP Programming.ppt Chapter 3. - Socket in Java - 목차 소켓소개 자바에서의 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 에코프로그램 - EchoServer 에코프로그램 - EchoClient Q/A 1 1 소켓소개 IP,, and Socket 포트 (): 전송계층에서통신을수행하는응용프로그램을찾기위한주소 소켓 (Socket):

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 9 장생성자와접근제어 이번장에서학습할내용 생성자 정적변수 정적메소드 접근제어 this 클래스간의관계 객체가생성될때초기화를담당하는생성자에대하여살펴봅니다. 생성자 생성자 (contructor): 객체가생성될때에필드에게초기값을제공하고필요한초기화절차를실행하는메소드 생성자의예 class Car { private String color; // 색상

More information

ilist.add(new Integer(1))과 같이 사용하지 않고 ilist.add(1)과 같이 사용한 것은 자바 5.0에 추가된 기본 자료형과 해당 객체 자료 형과의 오토박싱/언박싱 기능을 사용한 것으로 오토박싱이란 자바 컴파일러가 객체를 요구하는 곳에 기본 자료형

ilist.add(new Integer(1))과 같이 사용하지 않고 ilist.add(1)과 같이 사용한 것은 자바 5.0에 추가된 기본 자료형과 해당 객체 자료 형과의 오토박싱/언박싱 기능을 사용한 것으로 오토박싱이란 자바 컴파일러가 객체를 요구하는 곳에 기본 자료형 바에 제네릭스(generics)를 도입하기 위한 연구는 이미 8년 전인 1996년부터라고 한다. 실제로 자바에 제네릭스를 도입하 는 몇 가지 방안들이 논문으로 나오기 시작한 것이 1998년 초임을 감 안하면 무려 8년이 지난 후에야 자바 5.0에 전격 채택되었다는 것은 이것이 얼마나 어려운 일이었나 하는 것을 보여준다. 자바의 스펙을 결정하는 표준화 절차인

More information

2007_2_project4

2007_2_project4 Programming Methodology Instructor: Kyuseok Shim Project #4: external sort with template Due Date: 0:0 a.m. between 2007-12-2 & 2007-12-3 Introduction 이프로젝트는 C++ 의 template을이용한 sorting algorithm과정렬해야할데이터의크기가

More information

<342EBAAFBCF620B9D720B9D9C0CEB5F92E687770>

<342EBAAFBCF620B9D720B9D9C0CEB5F92E687770> 예약어(reserved word) : 프로그래밍 언어에서 특별한 용도로 사용하고자 미리 지정한 단어 - 프로그램의 구성요소를 구별하게 해주는 역할 => 라벨, 서브 프로그램 이름, 변수에 연관되어 다른 변수나 서브 프로그램 등과 구별 - 식별자의 최대길이는 언어마다 각각 다르며 허용길이를 넘어서면 나머지 문자열은 무시됨 - FORTRAN, COBOL, HTML

More information

Blog

Blog Objective C http://ivis.cwnu.ac.kr/tc/dongupak twitter : @dongupak 2010. 10. 9.. Blog WJApps Blog Introduction ? OS X -. - X Code IB, Performance Tool, Simulator : Objective C API : Cocoa Touch API API.

More information

1. 클래스와배열 int 형배열선언및초기화 int ary[5] = 1, 2, 3, 4, 5 ; for (int i = 0; i < 5; i++) cout << "ary[" << i << "] = " << ary[i] << endl; 5 장클래스의활용 1

1. 클래스와배열 int 형배열선언및초기화 int ary[5] = 1, 2, 3, 4, 5 ; for (int i = 0; i < 5; i++) cout << ary[ << i << ] =  << ary[i] << endl; 5 장클래스의활용 1 5 장클래스의활용 클래스와배열객체포인터 this 포인터멤버함수오버로딩디폴트매개변수의사용 friend ( 전역함수, 클래스, 멤버함수 ) 내포클래스지역클래스 static 멤버 const 멤버와 const 객체 explicit 생성자 C++ 프로그래밍입문 1. 클래스와배열 int 형배열선언및초기화 int ary[5] = 1, 2, 3, 4, 5 ; for (int

More information

Contents v 학습목표 자료구조큐에대한개념을스택과비교하여이해한다. 큐의특징과연산방법에대해알아본다. 순차표현방법을이용한큐와연결표현방법을이용한큐를구현해본다. 큐의응용방법을알아본다. v 내용 큐 큐의구현 큐의응용 2/74

Contents v 학습목표 자료구조큐에대한개념을스택과비교하여이해한다. 큐의특징과연산방법에대해알아본다. 순차표현방법을이용한큐와연결표현방법을이용한큐를구현해본다. 큐의응용방법을알아본다. v 내용 큐 큐의구현 큐의응용 2/74 큐 IT CookBook, C 로배우는쉬운자료구조 ( 개정판 ) Contents v 학습목표 자료구조큐에대한개념을스택과비교하여이해한다. 큐의특징과연산방법에대해알아본다. 순차표현방법을이용한큐와연결표현방법을이용한큐를구현해본다. 큐의응용방법을알아본다. v 내용 큐 큐의구현 큐의응용 2/74 1. 큐 v 큐 (Queue) 데이터의삽입과삭제가양쪽끝에서일어나는자료구조

More information

슬라이드 1

슬라이드 1 마이크로컨트롤러 2 (MicroController2) 2 강 ATmega128 의 external interrupt 이귀형교수님 학습목표 interrupt 란무엇인가? 기본개념을알아본다. interrupt 중에서가장사용하기쉬운 external interrupt 의사용방법을학습한다. 1. Interrupt 는왜필요할까? 함수동작을추가하여실행시키려면? //***

More information

<4D F736F F F696E74202D20C1A63132B0AD20B5BFC0FB20B8DEB8F0B8AEC7D2B4E7>

<4D F736F F F696E74202D20C1A63132B0AD20B5BFC0FB20B8DEB8F0B8AEC7D2B4E7> 제14장 동적 메모리 할당 Dynamic Allocation void * malloc(sizeof(char)*256) void * calloc(sizeof(char), 256) void * realloc(void *, size_t); Self-Referece NODE struct selfref { int n; struct selfref *next; }; Linked

More information

슬라이드 1

슬라이드 1 9 장. 생성자와가비지컬렉션 학습목표 스택과힙지역변수와인스턴스변수객체생성과생성자객체제거 ( 가비지컬렉션 ) 객체의삶과죽음 그리고그가말했어. 다리에감각이없어! 그리고내가말했지. 조! 정신차려조! 하지만이미너무늦었어. 가비지컬렉터가나타났고그는죽고말았지. 내가만나본가장좋은객체였는데말야 스택과힙 스택 (stack) 메소드호출과지역변수가사는곳 지역변수는스택변수라고도부릅니다.

More information

슬라이드 1

슬라이드 1 한국산업기술대학교 제 4 강프레임리스너 (Frame Listener) 이대현교수 학습안내 학습목표 프레임리스너를이용하여게임루프를구현하는방법을이해한다. 오우거엔짂의키입력처리방식을이해한다. 학습내용 프레임리스너의개념프레임리스너를이용한게임캐릭터의이동캐릭터의이동속도조절 OIS 입력시스템을이용한키보드입력의처리 기본게임루프 Initialization Game Logic

More information

컴파일러

컴파일러 YACC 응용예 Desktop Calculator 7/23 Lex 입력 수식문법을위한 lex 입력 : calc.l %{ #include calc.tab.h" %} %% [0-9]+ return(number) [ \t] \n return(0) \+ return('+') \* return('*'). { printf("'%c': illegal character\n",

More information

No Slide Title

No Slide Title Copyright, 2001 Multimedia Lab., CH 3. COM object (In-process server) Eun-sung Lee twoss@mmlab.net Multimedia Lab. Dept. of Electrical and Computer Eng. University of Seoul Seoul, Korea 0. Contents 1.

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 4 강. 함수와라이브러리함수목차 함수오버로딩 디폴트매개변수 라이브러리함수 clock 함수 난수발생 비버퍼형문자입력 커서이동 프로그래밍문제 1 /21 4 강. 함수와라이브러리함수함수오버로딩 2 /21 함수오버로딩 동일한이름의함수를여러개만들수있음 함수프로파일이달라야함 함수프로파일

More information

학습목표 텍스트파일을다룰수있다. 스트림읽기, 쓰기를안다. 2

학습목표 텍스트파일을다룰수있다. 스트림읽기, 쓰기를안다. 2 학습목표 텍스트파일을다룰수있다. 스트림읽기, 쓰기를안다. 2 8.1 텍스트파일다루기 8.2 스트림읽기, 쓰기 3 텍스트파일 문자, 숫자, 단어들이하나이상의줄로구성 파일확장명 :.txt,.ini,.log, OpenFileDialog 컨트롤 : 파일의위치를사용자가쉽게선택가능 Filter 속성 : 파일의형식선택가능 ShowDialog 메서드 : 열기대화상자 FileName

More information

Slide 1

Slide 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

목차 INDEX JSON? - JSON 개요 - JSONObject - JSONArray 서울시공공데이터 API 살펴보기 - 요청인자살펴보기 - Result Code - 출력값 HttpClient - HttpHelper 클래스작성 - JSONParser 클래스작성 공공

목차 INDEX JSON? - JSON 개요 - JSONObject - JSONArray 서울시공공데이터 API 살펴보기 - 요청인자살펴보기 - Result Code - 출력값 HttpClient - HttpHelper 클래스작성 - JSONParser 클래스작성 공공 메신저의새로운혁신 채팅로봇 챗봇 (Chatbot) 입문하기 소 이 메 속 : 시엠아이코리아 름 : 임채문 일 : soulgx@naver.com 1 목차 INDEX JSON? - JSON 개요 - JSONObject - JSONArray 서울시공공데이터 API 살펴보기 - 요청인자살펴보기 - Result Code - 출력값 HttpClient - HttpHelper

More information

Chapter 6 Objects and Classes

Chapter 6 Objects and Classes 11 장상속과다형성 1 강의목표 상속 (inheritance) 을이용하여기본클래스 (base class) 로부터파생클래스 (derived class) 생성 (11.2) 파생클래스유형의객체를기본클래스유형의매개변수 (parameter) 로전달함으로써일반화프로그래밍 (generic programming) 작업 (11.3) 생성자와소멸자의연쇄적처리 (chaining)

More information

1. 상속의기본개념 다음과같은문제를위한클래스설계 자동차 속성 : 색상, 배기량, 현재속도 메서드 : 가속하라, 멈춰라, 시동을켜라 트럭 속성 : 색상, 배기량, 현재속도, 최대중량 메서드 : 가속하라, 멈춰라, 시동을켜라 택시 속성 : 색상, 배기량, 현재속도, 요금,

1. 상속의기본개념 다음과같은문제를위한클래스설계 자동차 속성 : 색상, 배기량, 현재속도 메서드 : 가속하라, 멈춰라, 시동을켜라 트럭 속성 : 색상, 배기량, 현재속도, 최대중량 메서드 : 가속하라, 멈춰라, 시동을켜라 택시 속성 : 색상, 배기량, 현재속도, 요금, 8 장상속 상속의기본개념상속관련문제제기 base 클래스의접근제어와 protected 멤버상속관계에서의생성자와소멸자함수재정의 (function overriding) 디폴트액세스지정자와구조체 derived 클래스로부터의상속다중상속 virtual base 클래스 derived 클래스의디폴트복사생성자와디폴트대입연산자 private 생성자의사용 C++ 프로그래밍입문

More information

UNIST_교원 홈페이지 관리자_Manual_V1.0

UNIST_교원 홈페이지 관리자_Manual_V1.0 Manual created by metapresso V 1.0 3Fl, Dongin Bldg, 246-3 Nonhyun-dong, Kangnam-gu, Seoul, Korea, 135-889 Tel: (02)518-7770 / Fax: (02)547-7739 / Mail: contact@metabrain.com / http://www.metabrain.com

More information

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate ALTIBASE HDB 6.1.1.5.6 Patch Notes 목차 BUG-39240 offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG-41443 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate 한뒤, hash partition

More information

vi 사용법

vi 사용법 네트워크프로그래밍 6 장과제샘플코드 - 1:1 채팅 (udp 버전 ) 과제 서버에서먼저 bind 하고그포트를다른사람에게알려줄것 클라이언트에서알려준포트로접속 서로간에키보드입력을받아상대방에게메시지전송 2 Makefile 1 SRC_DIR =../../common 2 COM_OBJS = $(SRC_DIR)/addressUtility.o $(SRC_DIR)/dieWithMessage.o

More information

Microsoft PowerPoint - 06-Chapter09-Event.ppt

Microsoft PowerPoint - 06-Chapter09-Event.ppt AWT 이벤트처리하기 1. 이벤트처리방식 2. 이벤트클래스와리스너 3. 이벤트어댑터 4. 이벤트의종류 이벤트 (Event) 이벤트 사용자가 UI 컴포넌트에대해취하는행위로인한사건이벤트기반프로그래밍 무한루프를돌면서사용자의행위로인한이벤트를청취하여응답하는형태로작동하는프로그래밍 java.awt.event 이벤트처리 AWT 컴포넌트에서발생하는다양한이벤트를처리하기위한인터페이스와클래스제공

More information

K&R2 Reference Manual 번역본

K&R2 Reference Manual 번역본 typewriter structunion struct union if-else if if else if if else if if if if else else ; auto register static extern typedef void char short int long float double signed unsigned const volatile { } struct

More information

PowerPoint Template

PowerPoint Template 7. 상속 (inheritance) 의이해 상속의기본개념 상속의생성자, 소멸자 protected 멤버 Jong Hyuk Park 상속의기본개념 Jong Hyuk Park 상속의기본개념 상속의예 1 " 철수는아버지로부터좋은목소리와큰키를물려받았다." 상속의예 2 "Student 클래스가 Person 클래스를상속한다." 아버지 Person 철수 Stduent 3

More information

JMF2_심빈구.PDF

JMF2_심빈구.PDF JMF JSTORM http://wwwjstormpekr Issued by: < > Document Information Document title: Document file name: Revision number: Issued by: JMF2_ doc Issue Date: Status: < > raica@nownurinet

More information

Cluster management software

Cluster management software 자바프로그래밍 (OCJP 국제공인자격취득중심 ) 충북대학교정보통신공학부 최민 이벤트처리 지금까지 GUI 를구성하는 Component 의종류와이 Component 들을 Container 위에적절하게배치하기위한 LayoutManager 를학습하였음 앞에서만들었던 GUI 프로그램은모양만그럴듯할뿐, 실제 Button 을누르거나, Frame 우측상단의 X 표시를클릭해도아무런동작을하지않음이벤트처리가포함되어있지않기때문

More information

윤성우의 열혈 TCP/IP 소켓 프로그래밍

윤성우의 열혈 TCP/IP 소켓 프로그래밍 Chapter 08. 상속과다형성 박종혁교수 UCS Lab Tel: 970-6702 Email: jhpark1@seoultech.ac.kr SeoulTech 2013-2 nd 프로그래밍입문 (2) Chapter 08-1. 객체포인터의참조관계 3 상속된객체와포인터관계 객체포인터 객체의주소값을저장할수있는포인터 AAA 클래스의포인터는 AAA 객체의주소뿐만아니라 AAA

More information

10장.key

10장.key JAVA Programming 1 2 (Event Driven Programming)! :,,,! ( )! : (batch programming)!! ( : )!!!! 3 (Mouse Event, Action Event) (Mouse Event, Action Event) (Mouse Event, Container Event) (Key Event) (Key Event,

More information

Microsoft PowerPoint - 07-C#-2-기초문법.ppt [호환 모드]

Microsoft PowerPoint - 07-C#-2-기초문법.ppt [호환 모드] 기본자료형 연산자와제어문 배열 컬렉션과반복자 순천향대학교컴퓨터학부이상정 1 기본자료형 순천향대학교컴퓨터학부이상정 2 C# 자료형 C# 은.NET 프레임워크가제공하는 CTS(Common Type System) 자료형을사용 CTS는닷넷기반의여러언어에서공통으로사용되는자료형 CTS 는값 (value) 형과참조형 (reference) 형지원 CTS가제공하는모든데이터형은

More information

Chapter 4. LISTS

Chapter 4. LISTS 연결리스트의응용 류관희 충북대학교 1 체인연산 체인을역순으로만드는 (inverting) 연산 3 개의포인터를적절히이용하여제자리 (in place) 에서문제를해결 typedef struct listnode *listpointer; typedef struct listnode { char data; listpointer link; ; 2 체인연산 체인을역순으로만드는

More information

Microsoft PowerPoint - 06-Body Data Class.pptx

Microsoft PowerPoint - 06-Body Data Class.pptx Digital 3D Anthropometry 6. Body Data Class Sungmin Kim SEOUL NATIONAL UNIVERSITY Body Data Class 의설계 Body Model 의관리 인체데이터입출력 데이터불러오기 인체모델그리기 TOpenGL의확장 프로젝트관리 프로젝트저장 / 불러오기 추가기능구현 좌표축정렬 Face, Wireframe,

More information

PowerPoint Template

PowerPoint Template 10. 예외처리 대구가톨릭대학교 IT 공학부 소프트웨어공학연구실 목차 2 10.1 개요 10.2 C++ 의예외처리 10.3 Java 의예외처리 10.4 Ada 의예외처리 10.1 예외처리의개요 (1) 3 예외 (exception) 오버플로나언더플로, 0 으로나누기, 배열첨자범위이탈오류와같이프로그램실행중에비정상적으로발생하는사건 예외처리 (exception handling)

More information

C# 입문 : 이론과 실습

C# 입문 : 이론과 실습 클래스 파생클래스 구조체 네임스페이스 [2/50] 클래스 (Class) C# 프로그램의기본단위 재사용성 (reusability), 이식성 (portability), 유연성 (flexibility) 증가 객체를정의하는템플릿 객체의구조와행위를정의하는방법 자료추상화 (data abstraction) 의방법 객체 (Object) 클래스의인스턴스로변수와같은역할 객체를정의하기위해서는해당하는클래스를정의

More information

ALTIBASE 사용자가이드 Templete

ALTIBASE 사용자가이드 Templete Real Alternative DBMS ALTIBASE, Since 1999 WINDOWS ADO.NET 환경의 ALTIBASE 개발가이드 2010. 09 Copyright c 2000~2013 ALTBASE Corporation. All Rights Reserved. Document Control Change Record Date Author Change

More information

노트북 IT / 모바일 데스크탑 34 올인원PC 35 PC 소프트웨어 포터블SSD / SSD / 메모리카드 36 태블릿 37 휴대폰 39 PC 솔루션 IT / 모바일 IT / 모바일 노트북 29 삼성전자는 Windows 를 권장합니다. 삼성전자만의 편리하고 다양한 소프트웨어를 통해 초보자도 보다 쉽고 빠르게 이용 가능합니다. Easy Settings 삼성 패스트

More information

XSS Attack - Real-World XSS Attacks, Chaining XSS and Other Attacks, Payloads for XSS Attacks

XSS Attack - Real-World XSS Attacks, Chaining XSS and Other Attacks, Payloads for XSS Attacks XSS s XSS, s, May 25, 2010 XSS s 1 2 s 3 XSS s MySpace 사건. Samy (JS.Spacehero) 프로필 페이지에 자바스크립트 삽입. 스크립트 동작방식 방문자를 친구로 추가. 방문자의 프로필에 자바스크립트를 복사. 1시간 만에 백만 명이 친구등록. s XSS s 위험도가 낮은 xss 취약점을 다른 취약점과 연계하여

More information

<4D F736F F F696E74202D206D61696E D F6E D20C7C1B7CEBCBCBCAD20B7CEB5F920C8C420B8DEB8F0B8AE20B9D B20B1B8C1B6C0CCC7D8>

<4D F736F F F696E74202D206D61696E D F6E D20C7C1B7CEBCBCBCAD20B7CEB5F920C8C420B8DEB8F0B8AE20B9D B20B1B8C1B6C0CCC7D8> 프로세스로딩후메모리및 stack 구조이해 학습목표 실제프로그램이 CPU 에의해메모리에상주되었을때메모리구조에대하여숙지한다. 논리적스택에대한개념과작동원리를이해한다. 논리적스택구조에대하여자세히각부분별기능이무슨역할을하는지를파악한다. 메모리구조모습 (1) 메모리구조 ( 코드영역 ) 논리적스택개념논리적스택구조논리적스택구조특징 more 프로그램실행후메모리구조모습 (1)

More information

Microsoft PowerPoint - 13_UMLCoding(2010).pptx

Microsoft PowerPoint - 13_UMLCoding(2010).pptx LECTURE 13 설계와코딩 최은만, CSE 4039 소프트웨어공학 설계구현매핑 UML 설계도로부터 Java 프로그래밍언어로의매핑과정설명 정적다이어그램의구현 동적다이어그램의구현 최은만, CSE 4039 소프트웨어공학 2 속성과오퍼레이션의구현 Student - name : String #d department t: String Sti packageattribute

More information

Adobe Flash 취약점 분석 (CVE-2012-0754)

Adobe Flash 취약점 분석 (CVE-2012-0754) 기술문서 14. 08. 13. 작성 GNU C library dynamic linker $ORIGIN expansion Vulnerability Author : E-Mail : 윤지환 131ackcon@gmail.com Abstract 2010 년 Tavis Ormandy 에 의해 발견된 취약점으로써 정확한 명칭은 GNU C library dynamic linker

More information

Microsoft Word - EEL2 Lab4.docx

Microsoft Word - EEL2 Lab4.docx EEL2 LAB Week 4: Inheritance 1. 다음을만족하는클래스 Employee를작성하시오.(1에서 4번까지관련된문제입니다.) 클래스 Employee 직원는클래스 Regular 정규직와 Temporary 비정규직의상위클래스 필드 : 이름, 나이, 주소, 부서, 월급정보를필드로선언 생성자 : 이름, 나이, 주소, 부서를지정하는생성자정의 메소드 printinfo():

More information

슬라이드 1

슬라이드 1 핚국산업기술대학교 제 9 강캐릭터컨트롤러 이대현교수 학습안내 학습목표 씬노드의구성및회전방법을응용하여, 구면카메라및캐릭터컨트롤을구현해본다. 학습내용 구면카메라구현을위한씬노드구성및회전캐릭터컨트롤을위한씬노구구성및회전 카메라및캐릭터컨트롤구현목표 카메라컨트롤 WOW의카메라컨트롤 ( 구면카메라 ) 마우스를이용한좌우패닝, 상하피칭. 휠스크롤을이용한줌인및줌아웃. 캐릭터를중심으로회전됨.

More information

ThinkVantage Fingerprint Software

ThinkVantage Fingerprint Software ThinkVantage 지문 인식 소프트웨어 First Edition (August 2005) Copyright Lenovo 2005. Portions Copyright International Business Machines Corporation 2005. All rights reserved. U.S. GOVERNMENT USERS RESTRICTED RIGHTS:

More information

슬라이드 1

슬라이드 1 CHAP 6: 큐 큐 (QUEUE) 큐 : 먼저들어온데이터가먼저나가는자료구조 선입선출 (FIFO: First-In First-Out) ( 예 ) 매표소의대기열 Ticket Box 전단 (front) 후단 (rear) 큐 ADT 삽입과삭제는 FIFO 순서를따른다. 삽입은큐의후단에서, 삭제는전단에서이루어진다. 객체 : n 개의 element 형으로구성된요소들의순서있는모임

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 예외처리 배효철 th1g@nate.com 1 목차 예외와예외클래스 실행예외 예외처리코드 예외종류에따른처리코드 자동리소스닫기 예외처리떠넘기기 사용자정의예외와예외발생 예외와예외클래스 구문오류 예외와예외클래스 구문오류가없는데실행시오류가발생하는경우 예외와예외클래스 import java.util.scanner; public class ExceptionExample1

More information

C# 입문 : 이론과 실습

C# 입문 : 이론과 실습 C# 언어의고급프로그래밍기법 응용프로그램을보다짜임새있고원론적으로작성가능델리게이트 객체지향특성이반영된메소드포인터이벤트와스레드를처리하는방법론 애트리뷰트 프로그래밍단위 ( 어셈블리, 클래스, 메소드등 ) 에줄수있는추가적인정보언어시스템에서실행시간에다양하게활용할수있는방법을지원 예외처리 실행중에발생하는에러언어시스템에서에러처리를지원 델리게이트 (delegate) 는메소드참조기법객체지향적특징이반영된메소드포인터

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Verilog: Finite State Machines CSED311 Lab03 Joonsung Kim, joonsung90@postech.ac.kr Finite State Machines Digital system design 시간에배운것과같습니다. Moore / Mealy machines Verilog 를이용해서어떻게구현할까? 2 Finite State

More information

TTA Journal No.157_서체변경.indd

TTA Journal No.157_서체변경.indd 표준 시험인증 기술 동향 FIDO(Fast IDentity Online) 생체 인증 기술 표준화 동향 이동기 TTA 모바일응용서비스 프로젝트그룹(PG910) 의장 SK텔레콤 NIC 담당 매니저 76 l 2015 01/02 PASSWORDLESS EXPERIENCE (UAF standards) ONLINE AUTH REQUEST LOCAL DEVICE AUTH

More information

Microsoft PowerPoint - Lecture_Note_5.ppt [Compatibility Mode]

Microsoft PowerPoint - Lecture_Note_5.ppt [Compatibility Mode] TCP Server/Client Department of Computer Engineering Kyung Hee University. Choong Seon Hong 1 TCP Server Program Procedure TCP Server socket() bind() 소켓생성 소켓번호와소켓주소의결합 listen() accept() read() 서비스처리, write()

More information

중간고사 (자료 구조)

중간고사 (자료 구조) Data Structures 215 중간고사 문제에서명시적으로기술하지않은부분은교재의내용에근거함. 215. 1. 27. 1 다음용어에대하여간단하게설명하시오 ( 각 3 점 *1=3 점 ) 1 abstract data type 6 Circular linked list 2 recursion 3 time complexity 4 space complexity 5 Single

More information

고객 카드 1588-7278

고객 카드 1588-7278 고객 카드 1588-7278 i 안전을 위한 경고사항 안전을 위한 주의사항 i 헤드유닛 DISP RADIO MEDIA PHONE SEEK TRACK 헤드유닛 FOLDER MUTE SCAN SETUP 스티어링 휠 리모트 컨트롤 + - MODE 기본모드 화면 Radio 모드 변경 RADIO 라디오 주파수 검색하기 SEEK TRACK 라디오 모드 사용하기 저장방송

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 클래스와객체 I 이번시간에서학습할내용 클래스와객체 객체의일생 메소드 필드 UML 직접클래스를작성해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다. 필드 (field) 는객체의속성을나타낸다. 메소드 (method) 는객체의동작을나타낸다. 클래스정의의예 class Car { // 필드정의 public int speed;

More information