<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Similar documents
Microsoft PowerPoint - Lect04.pptx

쉽게 풀어쓴 C 프로그래밍

PowerPoint Presentation

PowerPoint Presentation

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밊

PowerPoint Presentation

쉽게 풀어쓴 C 프로그래밍

PowerPoint Presentation

PowerPoint 프레젠테이션

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

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

PowerPoint Presentation

Microsoft PowerPoint - 2강

쉽게

Design Issues

JAVA PROGRAMMING 실습 05. 객체의 활용

쉽게 풀어쓴 C 프로그래밍

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

JAVA PROGRAMMING 실습 08.다형성

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

PowerPoint Presentation

쉽게 풀어쓴 C 프로그래밍

PowerPoint Presentation

PowerPoint 프레젠테이션

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

JAVA PROGRAMMING 실습 02. 표준 입출력

PowerPoint Presentation

PowerPoint Presentation

PowerPoint Presentation

PowerPoint Presentation

4장.문장

JAVA PROGRAMMING 실습 09. 예외처리

Microsoft Word - EEL2 Lab4.docx

PowerPoint 프레젠테이션

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

Blog

PowerPoint 프레젠테이션

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

PowerPoint Presentation

PowerPoint Presentation

PowerPoint 프레젠테이션

JAVA PROGRAMMING 실습 02. 표준 입출력

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

슬라이드 1

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µå

PowerPoint Presentation

쉽게 풀어쓴 C 프로그래밊

11장 포인터

비긴쿡-자바 00앞부속

PowerPoint 프레젠테이션

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

쉽게 풀어쓴 C 프로그래밍

제11장 프로세스와 쓰레드

Microsoft PowerPoint - Java7.pptx

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

Microsoft PowerPoint - Chap12-OOP.ppt

슬라이드 1

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

TEST BANK & SOLUTION

JVM 메모리구조

Microsoft PowerPoint - C++ 5 .pptx

교육자료

5장.key

JAVA PROGRAMMING 실습 05. 객체의 활용

Microsoft PowerPoint 장강의노트.ppt

PowerPoint 프레젠테이션

설계란 무엇인가?

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter

Cluster management software

PowerPoint 프레젠테이션

No Slide Title

PowerPoint Presentation

<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

슬라이드 1

PowerPoint 프레젠테이션

Microsoft PowerPoint - 04-UDP Programming.ppt

PowerPoint Presentation

슬라이드 1

Spring Boot/JDBC JdbcTemplate/CRUD 예제

17장 클래스와 메소드

PowerPoint Presentation

12-file.key

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

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074>

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

PowerPoint 프레젠테이션

Microsoft PowerPoint - RMI.ppt

Network Programming

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

JAVA PROGRAMMING 실습 02. 표준 입출력

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드]

슬라이드 1

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

PowerPoint Presentation

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - java1-lecture4.ppt [호환 모드]

슬라이드 1

Transcription:

Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다.

QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다. 필드 (field) 는객체의속성을나타낸다. 메소드 (method) 는객체의동작을나타낸다.

클래스정의의예 class Car { // 필드정의 public int speed; // 속도 public int mileage; // 주행거리 public String color; // 색상 // 메소드정의 public void speedup() { // 속도증가메소드 speed += 10; 필드정의! 메소드정의! public void speeddown() { // 속도감소메소드 speed -= 10; public String tostring() { // 객체의상태를문자열로반환하는메소드 return " 속도 : " + speed + " 주행거리 : " + mileage + " 색상 : " + color; 테스트클래스 public class CarTest { public static void main(string[] args) { Car mycar = new Car(); // 첫번째객체생성 Car yourcar = new Car(); // 두번째객체생성 mycar.speed = 60; // 객체의필드변경 mycar.mileage = 0; // 객체의필드변경 mycar.color = "blue"; // 객체의필드변경 mycar.speedup(); System.out.println(myCar); // 객체의메소드호출 yourcar.mileage = 10; // 객체의필드변경 yourcar.speed = 120; // 객체의필드변경 yourcar.color = "white"; // 객체의필드변경 yourcar.speeddown(); // 객체의메소드호출 System.out.println(yourCar);

속도 :70 주행거리 :0 색상 :blue 속도 : 110 주행거리 : 10 색상 : white 객체의일생 Car c = new Car(); c.speedup(); c = null;

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

참조변수와대입연산 Car car1 = new Car(); Car car2 = car1; // 대입연산의의미 객체의사용 객체를이용하여필드와메소드에접근할수있다.

객체의소멸 객체는참조가없어지면소멸!! 객체의소멸

메소드 매개변수

값에의한전달 매개변수가객체인경우 아주중요!!

메소드호출 메소드호출의예제 import java.util.*; class DiceGame { int diceface; int userguess; private void RollDice() { diceface = (int)(math.random() * 6) + 1; private int getuserinput(string prompt) { System.out.println(prompt); Scanner s = new Scanner(System.in); return s.nextint();

메소드호출의예제 private void checkuserguess() { if( diceface == userguess ) System.out.println(" 맞았습니다 "); else System.out.println(" 틀렸습니다 "); public void startplaying() { int userguess = getuserinput(" 예상값을입력하시오 : "); RollDice(); checkuserguess(); public class DiceGameTest { public static void main(string[] args) { DiceGame game = new DiceGame(); game.startplaying(); 결과화면 예상값을입력하시오 : 3 틀렸습니다

중복메소드 메소드오버라이딩 (method overriding) 메소드호출시매개변수를보고일치하는메소드가호출된다. 만약 square(3.14) (314) 와같이호출되면컴파일러는매개변수의개수, 타입, 순서등을봐서두번째메소드를호출한다. 중복메소드예제 class Car { // 필드선언 private int speed; // 속도 // 중복메소드 : 정수버전 public void setspeed(int s) { speed = s; System.out.println( println(" 정수버전호출 "); // 중복메소드 : 실수버전 public void setspeed(double s) { speed = (int)s; System.out.println(" 실수버전호출 ");

중복메소드예제 public class CarTest1 { public static void main(string[] args) { Car mycar = new Car(); // 첫번째객체생성 mycar.setspeed(100); // 정수버전메소드호출 mycar.setspeed(79.2); // 실수버전메소드호출 정수버전호출실수버전호출 자바에서의변수의종류 필드 (field) 또는인스턴스변수 : 클래스안에서선언되는멤버변수 지역변수 (local variable): 메소드나블록안에서선언되는변수 필드 Class Car { int speed; void speedup(int s){ int limit=100; 지역변수

필드의선언 필드의사용범위

설정자와접근자 설정자 (mutator) 필드의값을설정하는메소드 setxxx() 형식 접근자 (accessor) 필드의값을반환하는메소드 getxxx() 형식 설정자와접근자의예

설정자와접근자의사용 설정자와접근자는왜사용하는가? 설정자에서매개변수를통하여잘못된값이넘어오는경우, 이를사전에차단할수있다. 필요할때마다필드값을계산하여반환할수있다. 접근자만을제공하면자동적으로읽기만가능한필드를만들수있다.

필드의초기화 생성자를사용하는방법 -> 다음장에서학습 주의

변수와변수의비교 변수 1 == 변수 2 의의미 참조형변수의경우, 객체의내용이같다는의미가아니다. UML UML(Unified Modeling Language)

클래스와클래스의관계

예제 예제 class DeskLamp { // 인스턴스변수정의 private boolean ison; // 켜짐이나꺼짐과같은램프의상태 // 메소드정의 public void turnon() // 램프를켠다. { ison = true; public void turnoff() // 램프를끈다. { ison = false; public String tostring() { return " 현재상태는 " + (ison == true? " 켜짐 " : " 꺼짐 ");

예제 public class DeskLampTest { public static void main(string[] args) { // 역시객체를생성하려면 new 예약어를사용한다. DeskLamp mylamp = new DeskLamp(); // 객체의메소드를호출하려면도트연산자인. 을사용한다. mylamp.turnon(); System.out.println(myLamp); mylamp.turnoff(); System.out.println(myLamp); 현재상태는켜짐현재상태는꺼짐 Q & A