Microsoft PowerPoint - VB.NET_06.pptx

Similar documents
쉽게 풀어쓴 C 프로그래밍

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

PowerPoint Presentation

JAVA PROGRAMMING 실습 08.다형성

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

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - 2강

PowerPoint Presentation

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

설계란 무엇인가?

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

쉽게 풀어쓴 C 프로그래밍

C++ Programming

쉽게 풀어쓴 C 프로그래밍

PowerPoint Presentation

JAVA PROGRAMMING 실습 05. 객체의 활용

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

PowerPoint Presentation

Slide 1

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

JVM 메모리구조

쉽게 풀어쓴 C 프로그래밍

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

C++ Programming

PowerPoint Presentation

PowerPoint 프레젠테이션

JAVA PROGRAMMING 실습 02. 표준 입출력

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

유니티 변수-함수.key

PowerPoint Template

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

Microsoft PowerPoint - Lect04.pptx

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

Microsoft PowerPoint - Chap12-OOP.ppt

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074>

Microsoft PowerPoint - C++ 5 .pptx

13 주차 - MDI, Exception, WebBrowser, RichTextBox, AlarmProgram 대림대학 년도 1 학기홍명덕

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

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

PowerPoint Presentation

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

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

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

Visual Basic 반복문

Blog

JAVA PROGRAMMING 실습 07. 상속

PowerPoint 프레젠테이션

PowerPoint Template

No Slide Title

PowerPoint Template

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

Microsoft PowerPoint 장강의노트.ppt

Microsoft PowerPoint - e pptx

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

PowerPoint Presentation

PowerPoint 프레젠테이션

슬라이드 1

쉽게 풀어쓴 C 프로그래밍

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

Microsoft PowerPoint - chap06-2pointer.ppt

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

Microsoft PowerPoint - Chapter 6.ppt

슬라이드 1

C++ Programming

Microsoft PowerPoint - chap11

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

Microsoft PowerPoint - 6주차.pptx

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍

17장 클래스와 메소드

Chapter 6 Objects and Classes

제11장 프로세스와 쓰레드

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

설계란 무엇인가?

No Slide Title

Design Issues

11장 포인터

10.0pt1height.7depth.3width±â10.0pt1height.7depth.3widthÃÊ10.0pt1height.7depth.3widthÅë10.0pt1height.7depth.3width°è10.0pt1height.7depth.3widthÇÁ10.0pt1height.7depth.3width·Î10.0pt1height.7depth.3width±×10.0pt1height.7depth.3width·¡10.0pt1height.7depth.3width¹Ö pt1height.7depth.3widthŬ10.0pt1height.7depth.3width·¡10.0pt1height.7depth.3width½º, 10.0pt1height.7depth.3width°´10.0pt1height.7depth.3widthü, 10.0pt1height.7depth.3widthº¯10.0pt1height.7depth.3width¼ö, 10.0pt1height.7depth.3width¸Þ10.0pt1height.7depth.3width¼Ò10.0pt1height.7depth.3widthµå

작성자 : 김성박\(삼성 SDS 멀티캠퍼스 전임강사\)

Microsoft PowerPoint - hci2-lecture12 [호환 모드]

PowerPoint Presentation

03. ADO 닷넷 ADO 닷넷이란? ADO(ActiveX Data Objects) 의닷넷버전 비연결방식 (Discected Mdel) 제공 데이터베이스와연결후필요한데이터를가져온후에, 접속을바로끊고나서도데이터를계속해서처리할수있는방법이필요 자원을계속많이확보가능 자료의처리

Programming hwp

2 단계 : 추상화 class 오리 { class 청둥오리 extends 오리 { class 물오리 extends 오리 { 청둥오리 mallardduck = new 청둥오리 (); 물오리 redheadduck = new 물오리 (); mallardduck.swim();

Network Programming

PowerPoint Presentation

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

(6) (class): (7) (event) (event procedure) 1) : 2) : (8) : (GUI ) 2. : (*.frm) -> (compile) -> (*.exe) (p. 535 ) 3. (IDE (Integrated Development Envir

Microsoft PowerPoint - 2-Objective-C 기초

Microsoft PowerPoint - CSharp-10-예외처리

Slide 1

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id="entitymanagerfactory" class="org.springframework.orm.jpa.localentitymanagerfactorybean" p:persistenceunitname=

<432B2BC7C1B7CEB1D7B7A1B9D628BABBB9AE5FC3D6C1BE295B315D2E687770>

Microsoft PowerPoint - 02-Class Review.pptx

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

Microsoft Word - FunctionCall

PowerPoint Presentation

Microsoft PowerPoint - ch07 - 포인터 pm0415

Lab 3. 실습문제 (Single linked list)_해답.hwp

Transcription:

6 주차 객체프로그래밍 대림대학 2011 년도 1 학기홍명덕 (myungduk.hong@gmail.com)

객체실세계에존재하는물건을가상세계인컴퓨터안으로가져온개념 2

객체의장점 부품을만들듯이객체설계객체를조립해서완성된프로그램을개발 부품을교환하듯이객체를수정및교환유지보수쉬어짐객체의특징메서드 : 실세계의행위역할수행속성 : 어떤상태에있는지를값으로저장기타 : 멤버변수, 이벤트 3

클래스객체를대량으로생산할주형역할 클래스선언객체의모양설계 클래스의정의 객체를생산하는역할 New 키워드사용 Class CCar Dim My_Car = New CCar() 또는 Dim My_Car As CCar = New CCar() 4

인스턴스 클래스를사용해서만들어진객체를호칭객체의생성 = ' 객체를정의 (Definition) 했다 ' = ' 인스턴스를생성했다 (Instantiation)' 5

New 키워드이용 객체의생성 Dim obj As New CCar() 변수에다가생성된객체의참조값을저장 Dim obj2 As CCar() obj2 = obj obj 와 obj2 는동일한객체를가리킴 = ' 참조한다 (Reference)' 6

상태값을저장하기위해서사용하는변수선언방법 Class CCar Dim m_x,m_y As Integer ' 자동차의좌표값 사용방법 Dim My_ Car As New CCar() My_Car.m_x = 100 ' 자동차의 x좌표로 100을저장. My_Car.m_y = 100 ' 자동차의 y좌표로 100을저장. Dim icurx As Integer = My_ Car.m_ x ' 자동차의 x 좌표를꺼내서 icurx 변수에대입 7

객체가가지는특성을저장및읽기기능수행선언방법 Class CCar Private m_x as Integer Property CarX() As Integer Set (ByVal x As Integer) m_x = x End Set Get return m_x End Get End Property ' 자동차의 x 좌표값 'x 좌표를저장 'x 좌표를꺼내서반환함 8

객체가가지는특성을저장및읽기기능수행저장방법 Dim My_ Car As New CCar() My_Car.CarX = 100 ' 자동차의 x 좌표로 100 을저장. 읽기방법 Dim icurx As Integer = My_Car.CarX 'CarX 속성의값을꺼냄. Get..End Get 이호출됨. 9

멤버변수와의차이점저장시방법은동일 ' 필드멤버인 x 의사용 My_Car.m_x = 100 Dim icurx As Integer = My_Car.m_x ' 속성멤버인 CarX 의사용 My_Car.CarX = 100 Dim icurx As Integer = My_Car.CarX 10

멤버변수와의차이점저장속성은값의유효성검사기능추가가능 Class CCar Private m_x as Integer ' 자동차의 x 좌표값 Const conxmax As Integer = 400 자동차의 x좌표의최대크기값상수 Const conxmin As Integer = 10 자동차의 x좌표의최소크기값상수 Property CarX() As Integer Set (ByVal x As Integer) If x > conxmin And x < conxmax then m_x = x 'x좌표를저장 End If End Set Get return m_x 'x좌표를꺼내서반환함 End Get End Property 11

객체가가지는행위를구현 "... 하다 " 등의동사에해당서브프로시저나함수프로시저로구현 객체의사용객체이름 + 마침표 (.) () + 메서드이름 Class CCar Sub Draw() End Sub Debug.print(" 자동차가나타남 ) Dim My_ Car As New CCar() My_Car.Draw() 메서드를사용함 12

값을반환하는메서드함수프로시저사용 Class CCar Private m_x As Integer ' 자동차의 x 좌표값 Function GetX() As Integer Return m_x 'x좌표를꺼내서반환함 End Function Dim My_ Car As New CCar() Dim icurx As Integer icurx = My_Car.GetX() 자동차의 x 좌표를가져옴 13

매개변수를받는메서드서브프로시저와함수프로시저의매개변수사용법과동일 Class CCar Private m_x As Integer ' 자동차의 x 좌표값 Sub SetX(ByVal x As Integer) m_x = x 'x 좌표를저장 End Sub Dim My_Car As New CCar() My_Car.SetX(5) 14

생성자 객체가처음만들어질때실행되는메서드 New() 메서드사용초기화작업코드 Class CCar Sub New() Debug.print(" 자동차가만들어졌습니다. ) End Sub Dim My_Car As New CCar() 객체를생성하므로 New() 메서드가자동으로실행됨. 15

매개변수를받는생성자매개변수를전달받음 Class CCar Sub New(ByVal strowner As String) Debug.print(strOwner & " 님의자동차가만들어졌습니다.") End Sub Dim My_Car As New CCar(" 홍길동 ") 'New() 메서드에매개변수를전달함 16

매개변수를받는생성자복수개의생성자사용가능 Class CCar Sub New() 매개변수가없슴 Debug.print(" 자동차가만들어졌습니다.") End Sub Sub New(ByVal strowner As String) ' 매개변수가있슴 Debug.print(strOwner & " 님의자동차가만들어졌습니다.") End Sub 17

Optional 매개변수를받는생성자 매개변수생략시사용 Class CCar Sub New(Optional ByVal strowner As String = " 아무개 ") Debug.print(strOwner & " 님의자동차가만들어졌습니다.") End Sub Dim My_Car As New CCar() 'New() 메서드에매개변수를전달하지않음 Dim My_Car2 As New CCar(" 홍길동 ") 'New() 메서드에매개변수를전달함 18

특징생성된객체를참조하던변수를모두없애준다고해도바로메모리에서객체가없어지는것은아님가비지컬렉터가처리하는특정시간대의규칙에의거하 여삭제시킬시점이되어야만객체가완전히메모리에서소멸함 사용이유 메모리누수현상예방 메모리작업의생산성향상강제로가비지컬렉터호출방법 System.GC.Collect() 19

소멸자 객체가더이상필요가없어서사라지게될때호출 Finalize() 메서드사용마지막으로정리해야할작업처리 Protected와 Overrides 키워드사용 Dim obj As CCar obj = New CCar() obj = Nothing 'obj변수는 CCar 클래스의생성된객체를가리킴 'obj 변수가가리키는객체를끊음 Class CCar Protected Overrides Sub Finalize() ' 객체를제거될때 Finalize() 메서드가자동으로실행됨. Debug.print(" 자동차가사라집니다.") End Sub 20

소멸자실행가비지컬렉터에의해관리됨 System.GC.Collect() ' 가비지컬렉터를동작시킴 소멸자실행가비지컬렉터에의해관리됨 소멸자대행 Dispose() 메서드사용 Class CCar Sub Dispose() ' 객체를제거할때수작업으로호출시킴 Debug.print(" 자동차가사라집니다.") End Sub My_Car.Dispose() ' 객체가더이상필요없을때수작업으로호출해줌 21

소멸자대행폼의 Closed() 이벤트프로시저이용폼이화면에서사라지기바로직전호출됨준비한 Dispose() 호출함 Private Sub Form1_Closed(ByVal sender As Object, ByVal e As _ System.EventArgs) Handles MyBase.Closed End Sub m_mycar.dispose() m_mycar = Nothing 'Dispose 메서드호출 ' 객체제거 22

일반적인것만추려내는 ' 추상화' 실세계의모습을프로그램세계로가져오기위한방법일반적인모습만생각해내고, 구체적인상세한코드는없애나가는과정클래스로구현 Class CMYClass Sub Hello() End Sub Debug.print(" 안녕하세요 ) 23

블랙박스를만드는 ' 캡슐화' 객체의내부정보는철저히숨김외부에열려진통로만이용해서그객체를사용할수있게함클래스안에서 public으로선언된메서드, 속성, 멤버변수, 이벤트로구현 Public Class BlackBox Private m_innervar As Integer = 5 ' 내부에서만사용됨 Public Function OpenFunc(ByVal x, ByVal y) As Integer ' 외부에서사용가능 Return x + y End Function Dim obj As BlackBox Debug.print(" gp 블랙박스의계산결과 : " & obj.openfunc(5, 5)) 24

확장이가능한 ' 상속성' 원본클래스가가지고있는기능을그대로물려받아서 새로운클래스를만듦으로써기존클래스의기능을확장시켜나가는과정 25

일반화 (Generalization) 상속성의다른표현 상속을해준클래스는상속받은클래스와비교를할때더일반적인모습을가짐 "is a" 관계상속성의관계는보통 "is a" 관계 (" 고객은사람이다 ") 베이스클래스 (Base Class) 상속을해준클래스 " 베이스클래스 ", " 슈퍼클래스 ", " 부모클래스 서브클래스 (Sub Class) 상속을받은클래스 " 자식클래스 ", " 상속클래스 " 26

베이스클래스만들기 Class MyParentClass Public imyparentvalue As Integer 서브클래스만들기 Class MySubClass Public imysubvalue As Integer 27

Inherits 키워드베이스클래스와서브클래스간의연결고리역할 Class MySubClass Inherits MyParentClass Public imysubvalue As Integer Dim obj As New MySubClass() obj.imyparentvalue = 5 obj.imysubvalue = 10 28