쉽게 풀어쓴 C 프로그래밍

Similar documents
PowerPoint Presentation

PowerPoint Presentation

Blog

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

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

JAVA PROGRAMMING 실습 08.다형성

PowerPoint Presentation

Microsoft PowerPoint - Lect04.pptx

PowerPoint Presentation

PowerPoint Presentation

17장 클래스와 메소드

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

JAVA PROGRAMMING 실습 05. 객체의 활용

PowerPoint Presentation

쉽게

설계란 무엇인가?

Microsoft PowerPoint - Chap12-OOP.ppt

쉽게 풀어쓴 C 프로그래밍

Design Issues

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

쉽게 풀어쓴 C 프로그래밍

PowerPoint Presentation

C++ Programming

Microsoft PowerPoint - C++ 5 .pptx

쉽게 풀어쓴 C 프로그래밍

PowerPoint Presentation

Microsoft PowerPoint 장강의노트.ppt

Microsoft PowerPoint - 2강

PowerPoint 프레젠테이션

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074>

No Slide Title

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

PowerPoint Template

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

프입2-강의노트-C++배경

JAVA PROGRAMMING 실습 05. 객체의 활용

쉽게 풀어쓴 C 프로그래밍

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

11장 포인터

PowerPoint 프레젠테이션

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

쉽게 풀어쓴 C 프로그래밍

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

Slide 1

Microsoft PowerPoint - ch07 - 포인터 pm0415

쉽게 풀어쓴 C 프로그래밊

JAVA PROGRAMMING 실습 02. 표준 입출력

제11장 프로세스와 쓰레드

쉽게 풀어쓴 C 프로그래밍

C++ Programming

Microsoft PowerPoint - VB.NET_06.pptx

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

쉽게 풀어쓴 C 프로그래밍

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

JVM 메모리구조

PowerPoint 프레젠테이션

PowerPoint Presentation

JAVA PROGRAMMING 실습 09. 예외처리

No Slide Title

C++ 기본문법 정리

Microsoft PowerPoint - chap06-2pointer.ppt

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

쉽게 풀어쓴 C 프로그래밍

슬라이드 1

Microsoft PowerPoint - chap11

PowerPoint Presentation

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

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

Microsoft PowerPoint - java2 [호환 모드]

쉽게 풀어쓴 C 프로그래밍

PowerPoint Presentation

<432B2BC7C1B7CEB1D7B7A1B9D628BABBB9AE5FC3D6C1BE295B315D2E687770>

Microsoft PowerPoint - java1 [호환 모드]

강의계획서 1. 강의개요 학습과목명 객체지향프로그래밍 Ⅰ 학점 3 학점교 강사명교 강사전화번호 강의시간 4시간강의실수강대상 2. 교과목학습목표 4차산업혁명시대의도래로컴퓨터와프로그래밍에대한관심이커지고있으며, 여러분야에서소프트웨어의중요성을강조하며, 새시대를이끌

Network Programming

Microsoft PowerPoint - 제11장 포인터(강의)

No Slide Title

슬라이드 1

C++ Programming

유니티 변수-함수.key

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

C++ Programming

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Slide 1

PowerPoint Presentation

PowerPoint Presentation

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

Microsoft PowerPoint - Java7.pptx

교육자료

Microsoft PowerPoint 장.객체의이용.ppt

PowerPoint Template

PowerPoint 프레젠테이션

Microsoft PowerPoint - 04_OOConcepts(2010).pptx

JUNIT 실습및발표

슬라이드 1

PowerPoint Template

Transcription:

Power Java 제 7 장클래스와객체

이번장에서학습할내용 객체지향이란? 객체 메시지 클래스 객체지향의장점 String 클래스 객체지향개념을완벽하게이해해야만객체지향설계의이점을활용할수있다.

실제세계는객체로이루어진다.

객체지향이란? 실제세계를모델링하여소프트웨어를개발하는방법

절차지향과객체지향 절차지향프로그래밍 (procedural programming): 문제를해결하는절차를중요하게생각하는방법 객체지향프로그래밍 (Object-Oriented Programming): 데이터와절차를하나의덩어리 ( 객체 ) 로묶어서생각하는방법

객체지향방법 객체지향으로소프트웨어를작성하는것은컴퓨터하드웨어부품을구입하여서컴퓨터를조립하는것과비슷하다. 그림 7-3. 객체지향방법

절차지향과객체지향

중간점검문제 1. 객체지향프로그래밍은 들을조합하여서프로그램을작성하는기법이다. 2. 객체지향프로그래밍의시작은 년대에개발된 언어이다.

객체지향의 3 대특징 캡슐화 상속 다형성

캡슐화 캡슐화 (encapsulation): 관련된데이터와알고리즘 ( 코드 ) 이하나의묶음으로정리되어있는것 그림 7-4. 객체지향을사용하면코드를재사용할수있다.

캡슐화와정보은닉

업그레이드가쉽다. 라이브러리가업그레이드되면쉽게바꿀수있다. 정보은닉이가능하기때문에업그레이드가능 그림 7-5. 정보은닉의장점

상속 상속 (inheritance): 이미작성된클래스 ( 부모클래스 ) 를이어받아서새로운클래스 ( 자식클래스 ) 를생성하는기법 기존의코드를재활용하기위한기법 그림 7-6. 상속의개념

다형성 하나의이름 ( 방법 ) 으로많은상황에대처하는기법 개념적으로동일한작업을하는멤버함수들에똑같은이름을부여할수있으므로코드가더간단해진다

객체지향의장점 신뢰성있는소프트웨어를쉽게작성할수있다. 코드를재사용하기쉽다. 업그레이드가쉽다. 디버깅이쉽다.

쉬운디버깅 예를들어서절차지향프로그램에서하나의변수를 1000 개의함수가사용하고있다고가정해보자. -> 하나의변수를 1000 개의함수에서변경할수있다. 객체지향프로그램에서 100 개의클래스가있고클래스당 10 개의메소드를가정해보자. -> 하나의변수를 10 개의메소드에서변경할수있다. 어떤방법이디버깅이쉬울까?

중간점검문제 1. 자바에서코드재사용이쉬운이유는관련된 와 이하나의덩어리로묶여있기때문이다. 2. 정보은닉이란 을외부로부터보호하는것이다. 3. 정보를은닉하면발생하는장점은무엇인가?

객체란? 객체 (Object) 는상태와동작을가지고있다. 객체의상태 (state) 는객체의특징값 ( 속성 ) 이다. 객체의동작 (behavior) 또는행동은객체가취할수있는동작 그림 7-7. 자동차객체의예

중간점검문제

메시지 소프트웨어객체는메시지 (message) 를통해다른소프트웨어객체와통신하고서로상호작용한다. 그림 7-8. 메시지전달

중간점검문제 1. 객체들은 전달을통해서서로간에상호작용을한다. 2. 자동차객체에서생각할수있는메시지와매개변수에대하여나열하여보라.

클래스 클래스 (class): 객체를만드는설계도 클래스로부터만들어지는각각의객체를특별히그클래스의인스턴스 (instance) 라고도한다. 그림 7-9. 객체를클래스라는설계도로생성된다.

클래스와객체

클래스의구조

클래스의예 : 박스

클래스의예 : 자동차

객체를생성하려면 Car mycar = new Car( ); 자바에서객체를생성하는방법은 new 한가지뿐입니다.

기초변수와참조변수 그림 7-10. 변수의종류

객체의생성 1 참조변수선언 - Car 타입의객체를참조할수있는변수 mycar 를선언한다. 2 객체생성 new 연산자를이용하여객체를생성하고객체참조값을반환한다. 3 참조변수와객체의연결 생성된새로운객체의참조값을 mycar 라는참조변수에대입한다.

주의 위의문장으로객체가생성되는것은아님!!! 객체를가리키는참조값을담을수있는변수만생성됨.

객체의필드와메소드접근 도트 (.) 연산자사용! 객체의멤버를사용하려면연산자사용

필드와메소드접근

객체생성코드

실행결과

객체를하나더생성하는코드

객체를하나더생성하는코드

중간점검문제 1. 객체들을만드는설계도에해당되는것이 이다. 2. 같은종류의객체가여러개생성될때각객체의변수와메소드는공유되는가? 아니면각객체마다별도로만들어지는가? 3. 클래스선언시에클래스안에포함되는것은 과 이다. 4. 객체의멤버에접근하는데사용되는연산자는 이다. 5. 각객체마다별도로가지고있는것은클래스의 이다. 6. 상품의재고를나타내는클래스를작성하여보자. 클래스안에상품번호, 재고수량이필드로저장되고재고를증가, 감소하는메소드를작성하여보라.

메소드 메소드는입력을받아서처리를하고결과를반환하는가상적인상자와같다.

메소드의구조

인수와매개변수 메소드호출시전달하는값을인수 (argument) 메소드에서값을받을때사용하는변수를매개변수 (parameter)

객체의일생

객체의생성

참조값을복사한다면 두개의참조변수가하나의객체를가리킬수있다.

객체의소멸

객체의소멸

중간점검문제 1. 기초변수와참조변수의차이점은무엇인가? 2. 하나의참조변수가다른참조변수로대입되면어떤일이발생하는가? 3. 객체를소멸시키려면어떻게하면되는가?

문자열객체 그림 7-16. 문자열은객체이다.

클래스에서객체를생성하는방법 단하나의방법만이존재한다. new 연산자만이객체를생성합니다.

객체의메소드의호출.( 도트 ) 연산자를사용하여서메소드를호출합니다.

String 클래스의메소드

문자열의결합 두개의문자열은 + 연산자를이용하여결합될수있다. String subject = "Money"; String other = " has no value if it is not used"; String sentence = subject + other; "Money has no value if it is not used"

숫자를문자열로변환 int x = 20; System.out.println(" 결과값은 + x); // 결과값은 20 이출력된다. String answer = "The answer is " + 100; // The answer is 100" 결과값은 20 The answer is 100

예제 문자열의이 =13 A barking dog never Bites! A barking dog bar A BARKING DOG

중간점검문제 1. 변수를크게두가지로나누면 변수와 변수로분류할수있다. 2. 객체를생성하는키워드는 이다. 3. 문자열은클래스 의객체이다. 4. 문자열의길이를반환하는메소드는 이다. 5. 변수 i 의값을문자열로변환하는가장간단한방법은 연산자를사용하는것이다.

문자열을숫자로변환 문자열 123 을숫자 123 으로변환 랩퍼클래스 (wrapper class) 를사용한다. ( 예 ) Integer obj = new Integer(10);

랩퍼클래스의유용한메소드

int i = Integer.parseInt("123"); // 변수 i 에정수 123 이저장된다. double d = Double.parseDouble("3.141592"); // 변수 d 에실수 3.141592 가저장된다.

중간점검문제 1. 변수를크게두가지로나누면 변수와 변수로분류할수있다. 2. 객체를생성하는키워드는 이다. 3. 문자열은클래스 의객체이다. 4. 문자열의길이를반환하는메소드는 이다. 5. 변수 i 의값을문자열로변환하는가장간단한방법은 연산자를사용하는것이다.

Q & A