PowerPoint 프레젠테이션

Size: px
Start display at page:

Download "PowerPoint 프레젠테이션"

Transcription

1 Unity3D 프로그래머라면 알아야할최소한의 C# 최흥배

2 Unity で覚える C Learn C# in Unity

3 C # 에서의클래스 클래스정의 using UnityEngine; // 사용할라이브러리선언 // MonoBehaviour 를상속하는 NewBehaviourScript 클래스선언 public class NewBehaviourScript : MonoBehaviour // 멤버필드선언 public Vector3 velocity; // 멤버메소스정의 void Update() transform.translate(velocity * Time.deltaTime); 멤버선언에 p u b lic 을붙이면클래스밖에서도접근할수있다. p riva te 를붙이던가아무것도붙이지않으면클래스밖에서접근할수없다. 내부에무엇이있고, 무엇을할수있는지숨기는것이좋다. 3 /5

4 C # 에서의클래스 클래스가멤버로가지고있는것 필드변수. 보통바로멤버변수를공개하지않지만 Un ity 의경우공개필드로하지않으면인스펙트에표시되지않는다. 메소드 / 생성자 / 소멸자함수. 생성자와소멸자는조금특별한함수. 프로퍼티접근자간이표기법 인덱서오브젝트를배열과같이다룰수있도록해주는기능. 이벤트처리의일부를외부에위임하거나어떤타이밍에서통지하기위한기능. 4 /5

5 C # 에서의클래스 생성자오브젝트의초기화처리를하는메소드. 단 Un ity 는 Mo n o B e h a vio u r 을상속한클래스가생성자를구현하는것을추천하지않는다. A w a ke / S ta rt 를사용하도록하자. public class Foo : Bar int i; // 생성자정의. 반환값이없고, 클래스명과같은이름의메소드로한다. public Foo(int i) this.i = i; // 같은클래스의다른생성자를호출한다. public Foo() : this(0) // 부모의생성자를명시적으로호출하는방법. 생략하면부모의인자없는생성자가호출된다. public Foo(float f) : base(f) Foo f = new Foo(1.0f); // 3 개의생성자가호출된다. 5 /5

6 C # 에서의클래스 소멸자오브젝트의파괴처리를하는메소드. C# 은 GC 가동작하므로명시적으로파괴하지않아도좋으므로통상의식할필요가없다. public class Foo // 소멸자정의. 반환값, 인수, 접근자지정도없다. 클래스명에 ~ 을붙인이름의메소드로한다. ~Foo() C # 에서파괴타이밍을관리하고싶은클래스는 ID is p o s a b le 을상속하고, D is p o s e () 메소드를구현, u s in g 문과같이사용한다. 단 D is p o s e () 구현은익숙하지않아서조금까다롭다 6 /5

7 C # 에서의클래스 프로퍼티 : 접근자간이표기법 public class NewBehaviourScript : MonoBehaviour // 멤버프로퍼티정의 public Vector3 velocity get return rigidbody.velocity; set rigidbody.velocity = value; // 위는아래의접근자정의를간단하게한것이다. Vector3 GetVelocity() return rigidbody.velocity; void SetVelocity(Vector3 value) rigidbody.velocity = value; // 프로퍼티는보통멤버필드와같도록접근할수있다 void Start() velocity = Vector3.zero; /5

8 C # 에서의클래스 프로퍼티를좀더편리하게사용프로퍼티는구현을생략해도 O K public class NewBehaviourScript : MonoBehaviour public Vector3 velocity get; set; // 위는아래와같은암묵적인멤버필드를가지고있다고생각하면 OK Vector3 m_velocity; public Vector3 velocity get return m_velocity; set m_velocity = value; 프로퍼티는 g e t/s e t 마다접근자지정을붙일수있다 public class NewBehaviourScript : MonoBehaviour public Vector3 velocity get; private set; 8 /5

9 C # 에서의클래스 프로퍼티를좀더편리하게사용읽기만허용하는프로퍼티는 s e t 을생략할수있다. public class NewBehaviourScript : MonoBehaviour public Vector3 velocity get return rigidbody.velocity; 9 /5

10 1 0 /5 C # 에서의클래스 인덱서 public class NewBehaviourScript : MonoBehaviour int[] data; // 인덱서를정의 public int this[int index] get set return data[index]; data[index] = value; // 인덱서를멤버로가지는오브젝트는배열과비슷하게접근할수있다 void Start() NewBehaviourScript nbs = new NewBehaviourScript(); print(nbs[0]);

11 1 1 /5 C # 에서의클래스 이벤트중요한기능이지만이해가어려우므로뒤에다시설명 public class Foo // 델리게이트정의 public delegate void OnDamageDelegate(GameObject victim, float amount); // 정의한형의이벤트를선언 public event OnDamageDelegate ondamage; // 데미지처리 float hp get; private set; public void DoDamage(float amount) hp -= amount; ondamage(gameobject, amount); // ondamage 에등록되어있는메소드를호출 // 예를들면데미지를먹었던타이밍에서이메소드를호출하고싶은경우 void PrintDamage(GameObject victim, float amount) print(victim.name + " got damage " + amount); // 이벤트에데릴게이트를등록 Foo f = new Foo(); f.ondamage = PrintDamage; // 데미지처리를호출하면이벤트기능으로 PrintDamage 메소드가호출된다 f.dodamage(10);

12 1 2 /5 C # 에서의클래스 클래스멤버와인스턴스멤버 public class Foo : MonoBehaviour // 클래스필드정의 public static int classfield = 0; // 인스턴스필드정의 public int instancefield = 0; // 클래스메소드정의 public static void Hoge() print("hoge! " + classfield); // 인스턴스메소드정의 public void Mage() print("mage! " + classfield); // 클래스멤버에는인스턴스가없어도접근할수있다 Foo.classField = 10; Foo.Hoge(); // "Hoge! 10" Foo foo = new Foo(); print(foo.instancefield); // 0 foo.mage(); // "Mage! 10"

13 1 3 /5 C # 에서의클래스 클래스멤버만가진클래스모든멤버가 s ta tic 한클래스는클래스자체도 s ta ti c 으로하여인스턴스를만드는것을명시적으로막는다. public static class Foo // 클래스필드정의 public static int classfield = 0; // 클래스메소드정의 public static void Hoge() print("hoge! " + classfield); // static 한클래스는정적생성자 ( 클래스생성자 ) 로초기화한다 static Foo() classfield = 10;

14 1 4 /5 C # 에서의클래스 클래스수식자 s e a le d s e a le d 수식자를붙인클래스는상속할수없다. 멤버필드수식자 con s t 실행중에값이변하지않는디 ( 변할수없다 ) 필드에붙여서값을바꾸는코드를쓰면컴파일시에에러가발생한다. re a d o n ly 의미적으로는 c o n s とじㅅ와같다. c o n s t 는값타입에만사용할수있지만 re a d o n yはl 는참조타입에도붙일수있다

15 1 5 /5 C # 에서의클래스 멤버메소드수식자 virtual overdeir exernt 외부에서구현한메소드를선언할때 DlmportIl 속성과함께사용. Unity 는네이티브플러그인메소드를호출하고싶을때사용

16 1 6 /5 C # 에서의클래스 속성 ( 어트리뷰트 ) C # 은어트리뷰트라는기능을사용하여클래스자체나그멤버에메타데이터를붙일수있다. Un ity 에서는자신이만든클래스에 S e ria liz a b le 속성을붙여서인스펙트에표시할수있도록하거나, 에디터에확장에서자주사용한다 [ExecuteInEditMode()] // 이속성을붙이면에디터상에서비실행시에도 Start 나 Update 를호출가능 public class NewBehaviourScript : MonoBehaviour [System.Serializable()] // 이속성을붙이지않으면 Foo 형필드가인스펙터에표시되지않는다. public class Foo public int hoge; public Foo f;

17 1 /5 C # 에서의구조체 구조체정의사양 public struct Point // 멤버필드선언 public int x, y; // 멤버메소드정의 public Point(int x, int y) this.x = x; this.y = y; 기본적으로는클래스정의와같지만구조체는클래스와같은구현상속은할수없다. 인터페이스를상속하여자신이구현하는것은가능하다. 또클래스는참조형이지만구조체는값형이라는것이다르다.

18 C # 에서의인터페이스 인터페이스정의사양 interface ICollidable // 멤버메소드선언 ( 정의는할수없다 ) bool IsCollide(GameObject other); public class NewBehaviourScript : MonoBehaviour, ICollidable // 인터페이스구현 public bool IsCollide(GameObject other) if (gameobject.collider == null other.collider == null) return false; return IsCollide(gameObject.collider, other.collider); 인터페이스는그것을상속한오브젝트가어떤멤버메소드, 프로퍼티, 인덱서, 이벤트를가질지를명시하기위한것이다. 멤버필드는선언할수없고구현도할수없기때문에단독으로는사용할수없다. 1 8 /5

19 1 9 /5 클래스 o r 구조체 참조형과값형클래스는참조형, 구조체는값형이다. 이 2 개의차이는메소드인수나반환값으로오브젝트가반환될때의행동에영향이미친다. 예를들면오브젝트 Fo o 에서 B a r 에변수가넘겨진경우 참조형 값형 Tra n s fo rm Ve c to r3 복제 Ve c to r3 Fo o B a r Foo B a r

20 2 0 /5 클래스 o r 구조체 값형의참조전달 re f 키워드나 o u t 키워드를사용하여구조체와같은값형의참조를전달하는방법이있다. public class Foo Vector3 myvector; public AddVectorTo(ref Vector3 target) target += myvector; public class Bar Foo foo Vector3 = new Foo(); myvector; public Bar() foo(ref myvector);

21 2 1 /5 클래스 o r 구조체 N u l l 허용형 값형의변수라도아직초기화되지않았다는것을명시하고싶은경우가있다. 이럴때 Nu ll 허용형을사용한다. public class Foo Vector3? myvector; // 변수의형뒤에? 을붙이면 Null 허용형이된다. public Vector3 GetVector() if (myvector == null) myvec tor = Vector3.up; return myvector.value; 이것은데이터베이스와연동을간단하게하기위해준비된것으로 Un ity 에서사용할일은거의없다. 만약이것을사용하게된다면설계에문제가있다고봐야한다.

22 2 2 /5 클래스 o r 구조체 참조형장점오브젝트의크기에상관없이전달비용이일정. 전달받은곳에서값을변경하면전달한곳에서의값도변경단점 G C 에서처리비용이높음 값형장점 G C 에서처리할때비용이낮고, 전달받은곳에서값을변경하여도전달한곳에영향을주지않는다단점오브젝트의크기에비례하여비용이증가한다. box 화에의한성능악화를알기어렵다

23 2 3 /5 클래스 o r 구조체 박스화 박스화해제값형을 o b je c t 형으로변환하는것을박스화, o b je c t 형을원래값으로캐스트하는것을박스화해제라고하며, 어느쪽도꽤비용이높은조작으로최대한피해야한다 ( 박스화되면인스턴스사이즈도증가한다 ). object o = 1; // 박스화 int i = (int)o; // 박스화해제 // ArrayList는모든요소를 object 형으로변화해서저장하는컬렉션 ArrayList list = new ArrayList(); list.add("hoge"); // 그러므로문자열도수치도같은 ArrayList에저장할수있지만 list.add(100); // 여기에서박스화발생! 알아차리기힘들다! 뒤에설명할제네릭이라는기능을사용하면불필요한박스화를줄일수있으므로적극적으로사용한다.

24 2 4 /5 클래스 o r 구조체 어느쪽을선택할까? 기본은클래스를사용하고, 아래조건을만족한경우에는구조체를사용한다 ( 라고 Mic ro s o ft 문서에써여있다 ). 1. 정수나부동소수점과같은논리적으로단일한값을표시 2. 인스턴스사이즈가 16 바이트미만인경우 3. 상속에의해행동을바꿀필요가없을때 4. 빈번하게박스화할필요가없다 예를드렴 이차원좌표를나타내는 P o i n t 와같은것은구조체에적합하다.

25 2 5 /5 C # 의편리한기능 Enum: 일련의정수를하나로모은형 public class Foo const int DamageTypeSlash = 1; const int DamageTypeBlunt = 2; const int DamageTypeExplosion = 3; // enum 으로하는쪽이보기좋다 enum DamageType Slash = 1, Blunt, Explosion, DamageType damagetype; // Enum 형의각값에는 형타입. 이름 이라는형식으로접근한다. public Foo() damagetype = DamageType.Blunt; // int GetDamageTypeID() return (int)damagetype;

26 2 6 /5 C # 의편리한기능 namespace: 이름공간 namespace MyClasses // 관련된오브젝트를하나의공간에모아놓아검색성을올리고, 이름충돌을피한다 public class Foo public class Bar // 이름공간안의요소에는이와값이접근한다 MyClasses.Foo f; // 다른필드에서도같은이름공간을선언할수있다 namespace MyClasses public class Hoge // 파일선두에서 using 디렉티브를사용하면접근시이름공간을생략할수있다 using MyClasses; Foo f;

27 2 /5 C # 의편리한기능 캐스트, 형정보이용캐스트 ( 형의명시적인변환 ) 는 C 방식과비슷. 또 is 연산자, a s 연산자라는형조사의간단한방법이있다. // 보통캐스트는 ( 목적형 ) 으로한다 Collider c = (Collider)gameObject.AddComponent("BoxCollider"); // is 연산자로인스턴스형을지정한것인지조사할수있다 if (c is BoxCollider) boxcollider = c as BoxCollider; // 인스턴스를지정한형으로캐스트. 할수없다면 null // 형정보를추출해서자신이판정 if (c.gettype() == typeof(boxcollider)) print("ok"); // 제너릭을사용하면캐스트는필요없다 c = gameobject.addcomponent<boxcollider>();

28 2 8 /5 C # 의편리한기능 var 형이명확한로컬변수는형명을 va r 로가능 public class Foo void Hoge() // 이것을 Transform t = transform; // 이렇게써도좋다 var t = transform; // 이 1 문으로는 var 가실제어떤형이될지모르므로에러 var i; i = 0; public var i = 0; // 이것도에러. var 를사용할수있는것은로컬변수만

29 2 9 /5 C # 의편리한기능 파티셜클래스와파티셜메소드하나의클래스정의를복수의파일에나누어서쓸수있다 public partial class Foo void Hoge() public partial class Foo void Mage() // 물론클래스 Foo 는 Hoge, Mage 양쪽메소드를멤버로가지고있다. Foo f = new Foo(); f.hoge(); f.mage(); 파티셜클래스의메소드에 p a rtia l 수식자를붙이면구현을다른파일에서정의하여도정의하지않아도 (!) 좋다. public partial class Foo partial void Hoge();

30 3 0 /5 C # 의편리한기능 확장메소드 // 본래는아래처럼사용해야하지만 Instantiate(prefabObject); // 확장메소드를사용하면 static class GameObjectExtension // static 메소드첫번째인수에앞에 this 를붙이면확장메소드 public static Object Instantiate(this GameObject prefab) return Instantiate(prefab); // GameObject 클래스가 Instantiate() 라는인스턴스메소드를가진것처럼쓸수있다 prefabobject.instantiate();

31 3 1 /5 C # 제어구문 if, for, while, do~while 문타언어와비교해서특별한차이는없다. continue, break, goto 등도사용할수있다. switch 문 case 에문자열을사용할수있고, 기본적으로 break 을생략할수없는등타언어와비교해서조금특별하다. switch (hoge) case 0: case 1: DoSomething(); break; case 2: DoSomething2(); goto case 0; // 어떤처리를한후어떻게하든다른 case 로가고싶은경우는 goto 를사용 default: DoNothing(); break;

32 3 2 /5 C # 제어구문 foreach 문배열이나컬렉션등의모든요소에대해서반복해서처리를한다. foreach (AudioSource a in GetComponents<AudioSource>()) a.stop(); 뒤에설명할 Lin q 와조합하면 fo r 문이거의불필요해진다 // 어태치되어있는 AoudioSouce 재생중인것에대해 Stop() 을호출하는예 foreach (var a in from a in GetComponents<AudioSource>() where a.isplaying select a) a.stop(); 루프문안에서 if 문을사용하여분기하면루프처리자체가길어지므로가능하면 Lin q 로처음부터리스트를정형화해서 fo re a c h 문으로처리하는것이보기좋다.

33 3 3 /5 C # 제어구문 try ~ catch ~ final 문 C # 에서예외처리를제어하는구문이지만 Un ity 가예외를거의의식하지않아도좋은설계로되어있어서거의사용하지않는다. StreamReader sr = null; try sr = File.OpenText(path); string s = ""; while ((s = sr.readline())!= null) print(s); catch (FileNotFoundException e) print("file Not Found!"); finally sr.dispose();

34 C # 제어구문 using 문 이름공간생략이나형의별명정의에도 u s in g 이라는키워드를사용해서헷갈리기쉽지만메소드내에나오는 u s in g 문은 D is p o s e () 호출을보증하는것. Un itye n g i n e 에는 ID is p o s a b le 을구현한클래스가없으므로그다지사용하지않는다 u s n g 판 using (StreamReader sr = File.OpenText(path)) string s = ""; while ((s = sr.readline())!= null) print(s); 비 u s in g 판 StreamReader sr = null; try sr = File.OpenText(path); string s = ""; while ((s = sr.readline())!= null) print(s); finally sr.dispose(); 3 4 /5

35 3 5 /5 제너릭 제너릭이라는것은불필요한캐스트를줄이고, 컴파일시에형조사를할수있고, 코드가최적화되어성능을좋게해주는아주멋진기능이다. BoxCollider c; // 비제너릭판 ( 길어서보기않좋다 ) c = (BoxCollider)gameObject.AddComponent(typeof(BoxCollider)); c = gameobject.addcomponent(typeof(boxcollider)) as BoxCollider; // 제너릭판 c = gameobject.addcomponent<boxcollider>(); 그러나 Un ity 는제너릭판메소드를그다지준비하고있지않다. ;;;;

36 3 6 /5 제너릭 직접제너릭대응하기 // 예를들면이런오브젝트를제너릭에대응하는경우 Object FindObjectOf(Type type) return FindObjectOfType(type); // 형파라미터이름을 T 로하는것은관습 T FindObjectOf<T>() where T: Component // 형파라미터에제한을둘수있다 ( 임의 ) return (T)FindObjectOfType(typeof(T)); // 위의제너릭메소드호출방법 var renderer = FindObjectOf<Renderer>(); // 형이확실하므로 var 를사용할수있고캐스트불필요! // 형파라미터에제한을걸어서아래는컴파일시에러 int i = FindObjectOf<int>(); // int 는 Component 를상속하고있지않다

37 3 /5 제너릭 비제너릭컨테이너사용하지말자!!! 박스화에서설명했듯이 A rra ylis t 등의비제너릭은몰래성능을악화시키고본래필요없는캐스트가증가해서좋지않다 ( 캐스트가증가하면버그도증가 ). 명확한이유가없는한 S ys te m.c o lle c tio n s.g e n e ric 이름공간에있는제너릭판컨테이너를사용하자. using System.Collections.Generic; List<int> list; list.add(100); // 박스화없음! list.add("hoge"); // 컴파일시에러! int i = list[0]; // 물론박스화해제도없다!

38 델리게이트 메소드를참조할수있는형 메소드의참조를보존해두고뒤에호출하거나복수의메소드를하나의변수에넣어서호출할수있는기능. // 델리게이트형정의 delegate void SomeDelegate(float f); // 정의한형의변수를선언 SomeDelegate somedelegate; // 예를들면이런메소드를앞의변수에대입할수있다 void Hoge(float value) // 형만맞으면인수의이름은같지않아도괜찮다 somedelegate = Hoge; // 인스턴스메소드도대입할수있다 public class Foo public void Bar(float amount) Foo f = new Foo(); somedelegate += f.bar; // += 로추가대입할수있다 // 델리게이트변수에저장되어있는메소드를호출 (Hoge 와 f.bar 가순서대로불려진다 ) somedelegate(1.0f);

39 3 9 /5 델리게이트 이미준비되어있는델리게이트 인수도없고반환값도없는델리게이트나인수를하나취하고 b o o l 값을반환하는델리게이트등잘사용하므로 S ys te m 아래에처음부터준비해두고있다. System.Func<TResult> // TResult Func() System.Predicate<T> // bool Predicate(T value) System.Action<T> // void Action(T value) System.Action<T1, T2> // void Action(T1 p1, T2 p2)

40 이벤트 델리게이트를밖에서실행하지않도록한다 예를들면데미지를먹은타이밍을델리게이트를사용하여다른오브젝에통지하고싶은경우델리게이트를노출하면밖에서실행할수있게되어버려서곤란하다. public class Foo // 델리게이트형정의 public delegate void OnDamageDelegate(GameObject victim, float amount); // 정의한델리게이트형의변수선언 (private 로해버리면등록조차할수없으므로의미없다 ) public OnDamageDelegate ondamage; // 데미지처리 float hp get; private set; public void DoDamage(float amount) hp -= amount; ondamage(gameobject, amount); Foo f = new Foo(); f.ondamage(1.0f); // 실제로데미지를먹지않았는다 ondamage 를직접호출해버린다 이런한때에는이벤트라는기능을사용하자

41 이벤트 이벤트는밖에서는추가와삭제만할수있다 델리게이트를노출할필요없이이벤트로하면추가와삭제는클래스밖에서할수있지만실행은클래스내에서만할수있다. 이것으로이상한타이밍에서호출되는것을방지. public class Foo // 델리게이트형정의 public delegate void OnDamageDelegate(GameObject victim, float amount); // 델리게이트형변수에 event 를붙인다 public event OnDamageDelegate ondamage; // 데미지처리 float hp get; private set; publi c void DoDamage(float amount) hp -= amount; ondamage(gameobject, amount); Foo f = new Foo(); f.ondamage(1.0f); // 컴파일에러 f.ondamage += PrintDamage; // 추가는문제없이할수있다.

42 4 2 /5 람다식 이름없는메소드 public class Foo // 델리게이트형정의 public delegate void OnDamageDelegate(GameObject victim, float // 델리게이트형변수에 event 를붙인다. public event OnDamageDelegate ondamage; /* 생략 */ Foo f = new Foo(); // 이벤트에람다식을대입 f.ondamage = (victim, amount) => print(victim.name + " got damage " // 이것은아래와같다 void PrintDamage(GameObject victim, float amount) print(victim.name + " got damage " + amount); f.ondamage += PrintDamage; amount); + amount);

43 4 3 /5 람다식 Lis t 클래스등은조건판정용델리게이트 ( 리스트요소하나를인수로하여 bool 값을반환하는메소드 ) 를인수로잡는 Find 메소드등을멤버로가지고있다. 여기에람다식을넘기는것도가능. List<GameObject> gameobjects = new List<GameObject>(src); // 이름에 Enemy 를포함한오브젝트를찾는다 GameObject go = gameobjects.find(o => o.name.contains("enemy")); // gameobjects 리스트중 Y 좌표가 0 미만오브젝트를모두삭제 gameobjects.removeall(o => o.transform.x < 0);

44 L IN Q 데이터베이스용으로도입된기능이지만대량의데이터중에서필요한것을찾거나, 복수의리스트를합치거나, 데이터뭉치를정형화하기위한기능. 잘사용하면코드를깔끔하게할수있다. // 예를들면이런루푸는 var renderers = GetComponentsInChildren<Renderer>(); foreach (var r in renderers) if (r!= null && r.material!= null) r.material.maincolor = Color.red; // LINQ 로이렇게할수있다 var materials = from r in GetComponentsInChildren<Renderer>() where r!= null && r.material!= null select r.material; foreach (Material m in materials) m.maincolor = Color.red; 루프안에서분기하는것보다리스트를정형화한쪽이실수하기가어렵다.

45 4 5 /5 L IN Q 주목하고싶은멤버만을추출하여익명클래스를만들어서반환하면관심없는멤버에접근해서버그를만드는것을방지. var materialsets = from Renderer r in FindObjectsOfType(typeof(Renderer)) where r.material!= null && r.sharedmaterial!= null select new r.material, r.sharedmaterial ; foreach (var m in materialsets) m.material.maintexture = texture; m.sha redmaterial.maintexture = texture; 단가벼운처리는아니므로사용할때주의가필요

46 4 6 /5 코루틴 C # 의이터레이터구문을유용하고있다 C # 의 yie ld re tu rn 의본래목적은이터레이터를가볍게구현하기위한것이다. 도중까지처리하고일시메소드를빠져서다음에또그기에서 ( 메소드도중 ) 재개할수있다라는특성이멀티태스크처리에어울려서 Un ity 에서는코루틴에사용되고있다. 코루틴은 C # 의기능은아니다. // 본래사용방법 IEnumerator Count10() for (int i = 10; i >= 0; --i) yield return i; foreach (var i in Count1to10()) print(i); // 10, 9, 8,...

47 코루틴 컴파일시에암묵적으로클래스가만들어진다 yie ld 문이포함된메소드는실은컴파일시에암묵의열거용클래스로변환되고있다. IEnumerator CountUp() print(1); yield return null; print(2); yield return null; print(3); class CountUpEnumerator : IEnumerator int state = 0; bool MoveNext() switch (state++) case 0: print(1); re turn null; case 1: print(2); re turn null; case 2: print(3); IEnumerator CountUp() return new CountUpEnumerator();

48 4 8 /5 코루틴 코루틴은 MoveNex を t 을매프레임호출 아마 G a m e O b je c t 가지금실행중의코루틴의리스트를가지고있고매프레임이것들의 Mo ve Ne xt() 메소드를호출하고있을뿐. 비슷한처리를직접쓸수있다. 코루틴마다정지재개를관리하고싶은경우는이쪽이유연성이더높다. public class Foo : MonoBehaviour List<IEnumerator> coroutines = new List<IEnumerator>(); void Start() coroutines.add(mycoroutine1()); coroutines.add(mycoroutine2()); void Update() coroutines.removeall(c =>!c.movenext());

49 C# 학습소개

50 C# 학습소개

PowerPoint Presentation

PowerPoint 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 information

@ p a g e c o n te n tt y p e = " te x t/ h tm l;c h a rs e t= u tf- 8 " fo r (in t i= 0 ; i< = 1 0 ; i+ + ) { o u t.p rin tln (" H e llo W o rld " + i + " < b r/> " ); = re s u lt + re s u lts u m ()

More information

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074>

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074> 객체지향프로그램밍 (Object-Oriented Programming) 1 C++ popular C 객체지향 (object oriented) C++ C : 상위계층언어특징 + 어셈블리언어특징 C++ : 소프트웨어개발플랫폼에객체지향개념제공 객체지향 : 자료와이들자료를어떻게다룰것인지따로생각하지않고단지하나의사물로생각 형 변수가사용하는메모리크기 변수가가질수있는정보

More information

PowerPoint Presentation

PowerPoint 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

JAVA PROGRAMMING 실습 08.다형성

JAVA PROGRAMMING 실습 08.다형성 2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

More information

설계란 무엇인가?

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

More information

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Microsoft PowerPoint 자바-기본문법(Ch2).pptx 자바기본문법 1. 기본사항 2. 자료형 3. 변수와상수 4. 연산자 1 주석 (Comments) 이해를돕기위한설명문 종류 // /* */ /** */ 활용예 javadoc HelloApplication.java 2 주석 (Comments) /* File name: HelloApplication.java Created by: Jung Created on: March

More information

Microsoft PowerPoint - Chap12-OOP.ppt

Microsoft PowerPoint - Chap12-OOP.ppt 객체지향프로그래밍 (Object Oriented Programming) 12 장강사 강대기 차례 (Agenda) 멤버에대한동적메모리할당 암시적 / 명시적복사생성자 암시적 / 명시적오버로딩대입연산자 생성자에 new 사용하기 static 클래스멤버 객체에위치지정 new 사용하기 객체를지시하는포인터 StringBad 클래스 멤버에포인터사용 str static 멤버

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

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

More information

Microsoft PowerPoint - C++ 5 .pptx

Microsoft PowerPoint - C++ 5 .pptx C++ 언어프로그래밍 한밭대학교전자. 제어공학과이승호교수 연산자중복 (operator overloading) 이란? 2 1. 연산자중복이란? 1) 기존에미리정의되어있는연산자 (+, -, /, * 등 ) 들을프로그래머의의도에맞도록새롭게정의하여사용할수있도록지원하는기능 2) 연산자를특정한기능을수행하도록재정의하여사용하면여러가지이점을가질수있음 3) 하나의기능이프로그래머의의도에따라바뀌어동작하는다형성

More information

C# Programming Guide - Types

C# 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

슬라이드 1

슬라이드 1 정적메모리할당 (Static memory allocation) 일반적으로프로그램의실행에필요한메모리 ( 변수, 배열, 객체등 ) 는컴파일과정에서결정되고, 실행파일이메모리에로드될때할당되며, 종료후에반환됨 동적메모리할당 (Dynamic memory allocation) 프로그램의실행중에필요한메모리를할당받아사용하고, 사용이끝나면반환함 - 메모리를프로그램이직접관리해야함

More information

Microsoft PowerPoint - additional01.ppt [호환 모드]

Microsoft 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 information

유니티 변수-함수.key

유니티 변수-함수.key C# 1 or 16 (Binary or Hex) 1:1 C# C# (Java, Python, Go ) (0101010 ). (Variable) : (Value) (Variable) : (Value) ( ) (Variable) : (Value) ( ) ; (Variable) : (Value) ( ) ; = ; (Variable) : (Value) (Variable)

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

More information

Microsoft PowerPoint - Chapter 6.ppt

Microsoft 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

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

JAVA PROGRAMMING 실습 02. 표준 입출력

JAVA PROGRAMMING 실습 02. 표준 입출력 # 왜생겼나요..? : 절차지향언어가가진단점을보완하고다음의목적을달성하기위해..! 1. 소프트웨어생산성향상 객체지향소프트웨어를새로만드는경우이미만든개체지향소프트웨어를상속받거나객체를 가져다재사용할수있어부분수정을통해소프트웨어를다시만드는부담줄임. 2. 실세계에대한쉬운모델링 실세계의일은절차나과정보다는일과관련된많은물체들의상호작용으로묘사. 캡슐화 메소드와데이터를클래스내에선언하고구현

More information

Microsoft PowerPoint - CSharp-10-예외처리

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

More information

PowerPoint Template

PowerPoint 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

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 객체지향프로그래밍 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 q 객체지향프로그래밍의이해 v 프로그래밍기법의발달 A 군의사업발전 1 단계 구조적프로그래밍방식 3 q 객체지향프로그래밍의이해 A 군의사업발전 2 단계 객체지향프로그래밍방식 4 q 객체지향프로그래밍의이해 v 객체란무엇인가

More information

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

Microsoft 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 information

선형대수학 Linear Algebra

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

More information

JAVA PROGRAMMING 실습 05. 객체의 활용

JAVA 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 information

ThisJava ..

ThisJava .. 자바언어에정확한타입을추가한 ThisJava 소개 나현익, 류석영 프로그래밍언어연구실 KAIST 2014 년 1 월 14 일 나현익, 류석영 자바언어에정확한타입을추가한 ThisJava 소개 1/29 APLAS 2013 나현익, 류석영 자바 언어에 정확한 타입을 추가한 ThisJava 소개 2/29 실제로부딪힌문제 자바스크립트프로그램분석을위한요약도메인 나현익,

More information

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a 6 장복사생성자 객체의생성과대입객체의값에의한전달복사생성자디폴트복사생성자복사생성자의재정의객체의값에의한반환임시객체 C++ 프로그래밍입문 1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y;

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 인터페이스 배효철 th1g@nate.com 1 목차 인터페이스의역할 인터페이스선언 인터페이스구현 인터페이스사용 타입변환과다형성 인터페이스상속 디폴트메소드와인터페이스확장 2 인터페이스의역할 인터페이스란? 개발코드와객체가서로통신하는접점 개발코드는인터페이스의메소드만알고있으면 OK 인터페이스의역할 개발코드가객체에종속되지않게 -> 객체교체할수있도록하는역할 개발코드변경없이리턴값또는실행내용이다양해질수있음

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

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

구조체정의 자료형 (data types) 기본자료형 (primitive data types) : char, int, float 등과같이 C 언어에서제공하는자료형. 사용자정의자료형 (user-defined data types) : 다양한자료형을묶어서목적에따라새로운자료형을

구조체정의 자료형 (data types) 기본자료형 (primitive data types) : char, int, float 등과같이 C 언어에서제공하는자료형. 사용자정의자료형 (user-defined data types) : 다양한자료형을묶어서목적에따라새로운자료형을 (structures) 구조체정의 구조체선언및초기화 구조체배열 구조체포인터 구조체배열과포인터 구조체와함수 중첩된구조체 구조체동적할당 공용체 (union) 1 구조체정의 자료형 (data types) 기본자료형 (primitive data types) : char, int, float 등과같이 C 언어에서제공하는자료형. 사용자정의자료형 (user-defined

More information

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할

1. 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 information

슬라이드 1

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

More information

PowerPoint Presentation

PowerPoint Presentation Class : Method Jo, Heeseung 목차 section 1 생성자 (Constructor) section 2 생성자오버로딩 (Overloading) section 3 예약어 this section 4 메소드 4-1 접근한정자 4-2 클래스메소드 4-3 final, abstract, synchronized 메소드 4-4 메소드반환값 (return

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 5 장생성자와접근제어 1. 객체지향기법을이해한다. 2. 클래스를작성할수있다. 3. 클래스에서객체를생성할수있다. 4. 생성자를이용하여객체를초기화할수 있다. 5. 접근자와설정자를사용할수있다. 이번장에서만들어볼프로그램 생성자 생성자 (constructor) 는초기화를담당하는함수 생성자가필요한이유 #include using namespace

More information

초보자를 위한 C# 21일 완성

초보자를 위한 C# 21일 완성 C# 21., 21 C#., 2 ~ 3 21. 2 ~ 3 21.,. 1~ 2 (, ), C#.,,.,., 21..,.,,, 3. A..,,.,.. Q&A.. 24 C#,.NET.,.,.,. Visual C# Visual Studio.NET,..,. CD., www. TeachYour sel f CSharp. com., ( )., C#.. C# 1, 1. WEEK

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 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 information

(Microsoft PowerPoint - java1-lecture11.ppt [\310\243\310\257 \270\360\265\345])

(Microsoft PowerPoint - java1-lecture11.ppt [\310\243\310\257 \270\360\265\345]) 예외와예외클래스 예외처리 514760-1 2016 년가을학기 12/08/2016 박경신 오류의종류 에러 (Error) 하드웨어의잘못된동작또는고장으로인한오류 에러가발생되면 JVM실행에문제가있으므로프로그램종료 정상실행상태로돌아갈수없음 예외 (Exception) 사용자의잘못된조작또는개발자의잘못된코딩으로인한오류 예외가발생되면프로그램종료 예외처리 추가하면정상실행상태로돌아갈수있음

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program

More information

Microsoft Word - java19-1-midterm-answer.doc

Microsoft Word - java19-1-midterm-answer.doc 중간고사 담당교수 : 단국대학교응용컴퓨터공학박경신 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤쪽이나연습지에기술한내용은답안으로인정안함. 답에는반드시네모를쳐서확실히표시할것. 답안지에학과, 학번, 이름외에본인의암호 (4자리숫자 ) 를기입하면성적공고시학번대신암호를 사용할것임. 1. 다음질문에답을하라. (55

More information

(Microsoft PowerPoint - 07\300\345.ppt [\310\243\310\257 \270\360\265\345])

(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 information

어댑터뷰

어댑터뷰 04 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adatper View) 란? u 어댑터뷰의항목하나는단순한문자열이나이미지뿐만아니라, 임의의뷰가될수 있음 이미지뷰 u 커스텀어댑터뷰설정절차 1 2 항목을위한 XML 레이아웃정의 어댑터정의 3 어댑터를생성하고어댑터뷰객체에연결

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft 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 information

17장 클래스와 메소드

17장 클래스와 메소드 17 장클래스와메소드 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 1 / 18 학습내용 객체지향특징들객체출력 init 메소드 str 메소드연산자재정의타입기반의버전다형성 (polymorphism) 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 2 / 18 객체지향특징들 객체지향프로그래밍의특징 프로그램은객체와함수정의로구성되며대부분의계산은객체에대한연산으로표현됨객체의정의는

More information

C++ Programming

C++ Programming C++ Programming 연산자다중정의 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 연산자다중정의 C++ 스타일의문자열 2 연산자다중정의 연산자다중정의 단항연산자다중정의 이항연산자다중정의 cin, cout 그리고 endl C++ 스타일의문자열 3 연산자다중정의 연산자다중정의 (Operator

More information

Microsoft PowerPoint - chap10-함수의활용.pptx

Microsoft 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 information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 인터페이스, 람다식, 패키지 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 홈네트워킹 public interface RemoteControl { public void turnon(); // 가전제품을켠다. public void turnoff(); // 가전제품을끈다. 인터페이스를구현 public class Television

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 7 장클래스와객체 이번장에서학습할내용 객체지향이란? 객체 메시지 클래스 객체지향의장점 String 클래스 객체지향개념을완벽하게이해해야만객체지향설계의이점을활용할수있다. 실제세계는객체로이루어진다. 객체지향이란? 실제세계를모델링하여소프트웨어를개발하는방법 절차지향과객체지향 절차지향프로그래밍 (procedural programming): 문제를해결하는절차를중요하게생각하는방법

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향

More information

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조 - Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]

More information

JUNIT 실습및발표

JUNIT 실습및발표 JUNIT 실습및발표 JUNIT 접속 www.junit.org DownLoad JUnit JavaDoc API Document 를참조 JUNIT 4.8.1 다운로드 설치파일 (jar 파일 ) 을다운로드 CLASSPATH 를설정 환경변수에서설정 실행할클래스에서 import JUnit 설치하기 테스트실행주석 @Test Test 를실행할 method 앞에붙임 expected

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

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

Design Issues

Design 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

. 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요

. 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요 . 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요소로써안드로이드시스템에서는 Activities, Services, Content Providers,

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

예제 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

Cluster management software

Cluster management software 자바네트워크프로그래밍 (OCJP 국제공인자격취득중심 ) 충북대학교 최민 기본예제 예외클래스를정의하고사용하는예제 class NewException extends Exception { public class ExceptionTest { static void methoda() throws NewException { System.out.println("NewException

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

Microsoft PowerPoint - 2강

Microsoft PowerPoint - 2강 컴퓨터과학과 김희천교수 학습개요 Java 언어문법의기본사항, 자료형, 변수와상수선언및사용법, 각종연산자사용법, if/switch 등과같은제어문사용법등에대해설명한다. 또한 C++ 언어와선언 / 사용방법이다른 Java의배열선언및사용법에대해서설명한다. Java 언어의효과적인활용을위해서는기본문법을이해하는것이중요하다. 객체지향의기본개념에대해알아보고 Java에서어떻게객체지향적요소를적용하고있는지살펴본다.

More information

C++ Programming

C++ Programming C++ Programming 클래스와데이터추상화 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 객체지향프로그래밍 클래스와객체 2 객체지향프로그래밍 객체지향언어 (Object-Oriented Language) 프로그램을명령어의목록으로보는시각에서벗어나여러개의 독립된단위, 즉 객체 (Object) 들의모임으로파악

More information

제11장 프로세스와 쓰레드

제11장 프로세스와 쓰레드 제9장자바쓰레드 9.1 Thread 기초 (1/5) 프로그램 명령어들의연속 (a sequence of instruction) 프로세스 / Thread 실행중인프로그램 (program in execution) 프로세스생성과실행을위한함수들 자바 Thread 2 9.1 Thread 기초 (2/5) 프로세스단위작업의문제점 프로세스생성시오버헤드 컨텍스트스위치오버헤드

More information

UI TASK & KEY EVENT

UI TASK & KEY EVENT T9 & AUTOMATA 2007. 3. 23 PLATFORM TEAM 정용학 차례 T9 개요 새로운언어 (LDB) 추가 T9 주요구조체 / 주요함수 Automata 개요 Automata 주요함수 추후세미나계획 질의응답및토의 T9 ( 2 / 30 ) T9 개요 일반적으로 cat 이라는단어를쓸려면... 기존모드 (multitap) 2,2,2, 2,8 ( 총 6번의입력

More information

Microsoft Word - Crackme 15 from Simples 문제 풀이_by JohnGang.docx

Microsoft Word - Crackme 15 from Simples 문제 풀이_by JohnGang.docx CrackMe 15.exe (in Simples) 문제풀이 동명대학교정보보호동아리 THINK www.mainthink.net 강동현 Blog: johnghb.tistory.com e-mail: cari2052@gmail.com 1 목차 : 1. 문제설명및기본분석 --------------------------- P. 03 2 상세분석 ---------------------------

More information

4 장클래스와객체 클래스와객체 public과 private 구조체와클래스객체의생성과생성자객체의소멸과소멸자생성자와소멸자의호출순서디폴트생성자와디폴트소멸자멤버초기화멤버함수의외부정의멤버함수의인라인함수선언 C++ 프로그래밍입문

4 장클래스와객체 클래스와객체 public과 private 구조체와클래스객체의생성과생성자객체의소멸과소멸자생성자와소멸자의호출순서디폴트생성자와디폴트소멸자멤버초기화멤버함수의외부정의멤버함수의인라인함수선언 C++ 프로그래밍입문 4 장클래스와객체 클래스와객체 public과 private 구조체와클래스객체의생성과생성자객체의소멸과소멸자생성자와소멸자의호출순서디폴트생성자와디폴트소멸자멤버초기화멤버함수의외부정의멤버함수의인라인함수선언 C++ 프로그래밍입문 1. 클래스와객체 추상데이터형 : 속성 (attribute) + 메서드 (method) 예 : 자동차의속성과메서드 C++ : 주로 class

More information

Microsoft PowerPoint - chap05-제어문.pptx

Microsoft PowerPoint - chap05-제어문.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); 1 학습목표 제어문인,, 분기문에 대해 알아본다. 인 if와 switch의 사용 방법과 사용시 주의사항에 대해 알아본다.

More information

Modern Javascript

Modern Javascript ES6 - Arrow Function Class Template String Destructuring Default, Rest, Spread let, const for..of Promises Module System Map, Set * Generator * Symbol * * https://babeljs.io/ Babel is a JavaScript compiler.

More information

JVM 메모리구조

JVM 메모리구조 조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft 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 information

C++ Programming

C++ 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

Microsoft PowerPoint - lec2.ppt

Microsoft PowerPoint - lec2.ppt 2008 학년도 1 학기 상지대학교컴퓨터정보공학부 고광만 강의내용 어휘구조 토큰 주석 자료형기본자료형 참조형배열, 열거형 2 어휘 (lexicon) 어휘구조와자료형 프로그램을구성하는최소기본단위토큰 (token) 이라부름문법적으로의미있는최소의단위컴파일과정의어휘분석단계에서처리 자료형 자료객체가갖는형 구조, 개념, 값, 연산자를정의 3 토큰 (token) 정의문법적으로의미있는최소의단위예,

More information

오버라이딩 (Overriding)

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

More information

Microsoft PowerPoint - chap03-변수와데이터형.pptx

Microsoft PowerPoint - chap03-변수와데이터형.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 information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 3 장함수와문자열 1. 함수의기본적인개념을이해한다. 2. 인수와매개변수의개념을이해한다. 3. 함수의인수전달방법 2가지를이해한다 4. 중복함수를이해한다. 5. 디폴트매개변수를이해한다. 6. 문자열의구성을이해한다. 7. string 클래스의사용법을익힌다. 이번장에서만들어볼프로그램 함수란? 함수선언 함수호출 예제 #include using

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

JAVA PROGRAMMING 실습 09. 예외처리

JAVA PROGRAMMING 실습 09. 예외처리 2015 학년도 2 학기 예외? 프로그램실행중에발생하는예기치않은사건 예외가발생하는경우 정수를 0으로나누는경우 배열의크기보다큰인덱스로배열의원소를접근하는경우 파일의마지막부분에서데이터를읽으려고하는경우 예외처리 프로그램에문제를발생시키지않고프로그램을실행할수있게적절한조치를취하는것 자바는예외처리기를이용하여예외처리를할수있는기법제공 자바는예외를객체로취급!! 나뉨수를입력하시오

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

Chapter #01 Subject

Chapter #01  Subject Device Driver March 24, 2004 Kim, ki-hyeon 목차 1. 인터럽트처리복습 1. 인터럽트복습 입력검출방법 인터럽트방식, 폴링 (polling) 방식 인터럽트서비스등록함수 ( 커널에등록 ) int request_irq(unsigned int irq, void(*handler)(int,void*,struct pt_regs*), unsigned

More information

Microsoft PowerPoint - additional06.ppt [호환 모드]

Microsoft PowerPoint - additional06.ppt [호환 모드] 보조자료 6.Static 멤버와 const 멤버 클래스와 const 클래스와 static 연결리스트프로그램예 Jong Hyuk Park 클래스와 const Jong Hyuk Park 복습 : Const 키워드왜사용? C 의 const (1) const double PI=3.14; PI=3.1415; // 컴파일오류 const int val; val=20; //

More information

슬라이드 1

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

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

Tcl의 문법

Tcl의 문법 월, 01/28/2008-20:50 admin 은 상당히 단순하고, 커맨드의 인자를 스페이스(공백)로 단락을 짓고 나열하는 정도입니다. command arg1 arg2 arg3... 한행에 여러개의 커맨드를 나열할때는, 세미콜론( ; )으로 구분을 짓습니다. command arg1 arg2 arg3... ; command arg1 arg2 arg3... 한행이

More information

제8장 자바 GUI 프로그래밍 II

제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 information

KNK_C_05_Pointers_Arrays_structures_summary_v02

KNK_C_05_Pointers_Arrays_structures_summary_v02 Pointers and Arrays Structures adopted from KNK C Programming : A Modern Approach 요약 2 Pointers and Arrays 3 배열의주소 #include int main(){ int c[] = {1, 2, 3, 4}; printf("c\t%p\n", c); printf("&c\t%p\n",

More information

슬라이드 1

슬라이드 1 UNIT 6 배열 로봇 SW 교육원 3 기 학습목표 2 배열을사용핛수있다. 배열 3 배열 (Array) 이란? 같은타입 ( 자료형 ) 의여러변수를하나의묶음으로다루는것을배열이라고함 같은타입의많은양의데이터를다룰때효과적임 // 학생 30 명의점수를저장하기위해.. int student_score1; int student_score2; int student_score3;...

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

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Crash Unity SDK... Log & Crash Search. - Unity3D v4.0 ios

More information

Microsoft PowerPoint - e pptx

Microsoft PowerPoint - e pptx Import/Export Data Using VBA Objectives Referencing Excel Cells in VBA Importing Data from Excel to VBA Using VBA to Modify Contents of Cells 새서브프로시저작성하기 프로시저실행하고결과확인하기 VBA 코드이해하기 Referencing Excel Cells

More information

adfasdfasfdasfasfadf

adfasdfasfdasfasfadf C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 11 장상속 1. 상속의개념을이해한다. 2. 상속을이용하여자식클래스를작성할수있다. 3. 상속과접근지정자와의관계를이해한다. 4. 상속시생성자와소멸자가호출되는순서를이해한다. 이번장에서만들어볼프로그램 class Circle { int x, y; int radius;... class Rect { int x, y; int width, height;... 중복 상속의개요

More information

4장.문장

4장.문장 문장 1 배정문 혼합문 제어문 조건문반복문분기문 표준입출력 입출력 형식화된출력 [2/33] ANSI C 언어와유사 문장의종류 [3/33] 값을변수에저장하는데사용 형태 : < 변수 > = < 식 > ; remainder = dividend % divisor; i = j = k = 0; x *= y; 형변환 광역화 (widening) 형변환 : 컴파일러에의해자동적으로변환

More information

쉽게

쉽게 Power Java 제 4 장자바프로그래밍기초 이번장에서학습할내용 자바프로그램에대한기초사항을학습 자세한내용들은추후에. Hello.java 프로그램 주석 주석 (comment): 프로그램에대한설명을적어넣은것 3 가지타입의주석 클래스 클래스 (class): 객체를만드는설계도 ( 추후에학습 ) 자바프로그램은클래스들로구성된다. 그림 4-1. 자바프로그램의구조 클래스정의

More information

(120629)_세포배양_불활화_인플루엔자_백신_평가_가이드라인.hwp

(120629)_세포배양_불활화_인플루엔자_백신_평가_가이드라인.hwp 행정간행물등록번호 11-1470000-002739-14 세포배양불활화인플루엔자백신평가가이드라인 Guideline on the Cell Culture Inactivated Influenza Vaccines for Human Use 2012. 6. 바이오생약국바이오생약심사부 세포배양불활화인플루엔자백신평가가이드라인 Guideline on the Cell Culture

More information

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수

More information

PowerPoint Presentation

PowerPoint 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

Microsoft PowerPoint - 8ÀÏ°_Æ÷ÀÎÅÍ.ppt

Microsoft PowerPoint - 8ÀÏ°_Æ÷ÀÎÅÍ.ppt 포인터 1 포인터란? 포인터 메모리의주소를가지고있는변수 메모리주소 100번지 101번지 102번지 103번지 int theage (4 byte) 변수의크기에따라 주로 byte 단위 주소연산자 : & 변수의주소를반환 메모리 2 #include list 8.1 int main() using namespace std; unsigned short

More information