JAVA PROGRAMMING 실습 05. 객체의 활용

Similar documents
JAVA PROGRAMMING 실습 05. 객체의 활용

PowerPoint Presentation

PowerPoint Presentation

JAVA PROGRAMMING 실습 08.다형성

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

PowerPoint Presentation

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

PowerPoint Presentation

JVM 메모리구조

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

JAVA PROGRAMMING 실습 02. 표준 입출력

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

쉽게 풀어쓴 C 프로그래밍

PowerPoint Presentation

PowerPoint Presentation

Design Issues

PowerPoint 프레젠테이션

JAVA PROGRAMMING 실습 02. 표준 입출력

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

PowerPoint 프레젠테이션

Microsoft PowerPoint - Lect04.pptx

PowerPoint 프레젠테이션

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

Microsoft PowerPoint - Chap12-OOP.ppt

슬라이드 1

PowerPoint 프레젠테이션

PowerPoint Presentation

No Slide Title

Microsoft PowerPoint - C++ 5 .pptx

쉽게 풀어쓴 C 프로그래밍

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

유니티 변수-함수.key

Microsoft PowerPoint - 2강

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

PowerPoint Presentation

Microsoft PowerPoint - Chapter 6.ppt

PowerPoint Presentation

JAVA PROGRAMMING 실습 09. 예외처리

PowerPoint Presentation

슬라이드 1

쉽게 풀어쓴 C 프로그래밍

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

PowerPoint Presentation

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

슬라이드 1

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

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

Microsoft PowerPoint 장강의노트.ppt

C++ Programming

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

C# Programming Guide - Types

슬라이드 1

슬라이드 1

Spring Data JPA Many To Many 양방향 관계 예제

Microsoft PowerPoint - Java7.pptx

자바 프로그래밍

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

11장 포인터

쉽게 풀어쓴 C 프로그래밍

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap06-2pointer.ppt

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

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074>

C++ Programming

Microsoft PowerPoint - ch07 - 포인터 pm0415

17장 클래스와 메소드

설계란 무엇인가?

교육자료

제11장 프로세스와 쓰레드

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

No Slide Title

PowerPoint 프레젠테이션

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

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

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

(Microsoft PowerPoint - hci2-lecture12 [\310\243\310\257 \270\360\265\345])

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

PowerPoint 프레젠테이션

PowerPoint Presentation

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

PowerPoint Template

스레드의우선순위 우선순위설정메소드 : void setpriority(int newpriority) newpriority 에설정할수있는등급 : 1( 가장낮은우선순위 ) 부터 10( 가장높은우선순위 ) 가장높은우선순위 : MAX_PRIORITY, 보통우선순위 : NORM_

Microsoft Word - EEL2 Lab4.docx

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

JAVA PROGRAMMING 실습 02. 표준 입출력

JAVA PROGRAMMING 실습 07. 상속

PowerPoint 프레젠테이션

설계란 무엇인가?

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

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

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

Microsoft PowerPoint - 제11장 포인터

PowerPoint 프레젠테이션

11장 포인터

Microsoft PowerPoint - 14주차 강의자료

Transcription:

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 args[]){ Person aperson; } Person 클래스의객체를가리킬수있는 aperson 라는 참조변수를생성 초기값으로 null 이라는기본값을가짐 aperson

public static void main(string args[]){ Person aperson; aperson = new Person(); } name age aperson Person(){ } getname(){ } new 키워드를만나면새로운객체생성 객체를위해메모리공간을할당 Person 클래스에정의된모든변수들과메소드를가짐

public static void main(string args[]){ Person aperson = new Person( 둘리,21); Person bperson = new Person( 또치,25); Person cperson = new Person( 희동이,23); } aperson bperson cperson name 둘리 age 21 Person(String s,int a){ } getname(){ } name 또치 age 25 Person(String s,int a){ } getname(){ } name 희동이 age 23 Person(String s,int a){ } getname(){ }

@ Garbage Person aperson; Person bperson; Code aperson = new Person( 둘리,21); bperson = aperson; bperson = new Person( 또치,25); aperson = bperson; //aperson 이가진 Person 객체쓰레기 aperson bperson aperson bperson aperson bperson aperson bperson Memory name = 둘리 age = 21 name = 둘리 age = 21 name = 또치 age = 25 name = 둘리 age = 21 name = 또치 age = 25

객체소멸 new에의해생성된객체메모리를자바가상기계에게되돌려주는행위 소멸된객체공간은가용메모리에포함 자바는객체삭제기능없음 개발자에게는매우다행스러운기능 가비지 C/C++ 에서는할당받은객체를개발자가프로그램내에서삭제해야함 가비지 자신에대한레퍼런스가없는객체 가비지켈렉션 자바가상기계의가비지컬렉터가자동으로가비지를수집하여반환

public class GarbageEx { public static void main(string[] args) { String a = new String("Good"); String b = new String("Bad"); String c = new String("Normal"); String d, e; a = null; d = c; c = null; } }

가비지컬렉션 자바에서는가비지자동회수 가용메모리공간으로확보 가비지컬렉터 (garbage collector) 에의해자동수행 개발자에의한강제가비지컬렉션 System 또는 Runtime 객체의 gc() 메소드호출 System.gc(); // 가비지컬렉션작동요청 자바가상기계에강력한가비지컬렉션을요청 그러나자바가상기계가가비지컬렉션시점을전적으로판단

@ 객체에대한참조에서동등 (==) 의의미 1. = = 연산자 두개의참조가같은객체를가리키는지검사 2. equals() 메소드 한객체의내용이다른객체의내용과같은지검사 Object라는클래스에이미만들어져있는메소드 특정클래스에서객체들을비교할수있도록 equals() 메소드를재정의할수있음

== 연산자와 equals() 메소드의예 String a = aaa ; String b = a; String c = new String( aaa ); a 주소값 : 1000 aaa System.out.println(a.equals(b)); System.out.println(a==b); b b=a 이므로같음 주소값 : 2000 System.out.println(a==c); System.out.println(a.equals(c)); c aaa

@ 변수선언 [public/private/proetcted] [static/final] 자료형변수명 ; @ 변수의종류 1. 객체변수 2. 클래스변수 (static) 3. 상수변수 (final) @ 메소드의종류 1. 객체메소드 2. 클래스메소드

눈은각사람마다있고공기는모든사람이소유 ( 공유 ) 한다 사람은모두각각눈을가지고태어난다. 세상에는이미공기가있으며태어난사람은모두공기를공유한다. 그리고공기역시각사람의것이다.

static 멤버와 non-static 멤버의차이 non-static 멤버 static 멤버 선언공간적특성시간적특성공유의특성 class Sample { int n; void g() {...} } 멤버는객체마다별도존재. - 인스턴스멤버라고부름. 객체생성시함께멤버생성됨 - 객체가생길때멤버도생성 - 객체생성후멤버사용가능 - 객체가사라지면멤버도사라짐 동일한클래스의객체들에의해공유되지않음. - 멤버는객체내에각각공간유지 class Sample { static int m; static void g() {...} } 멤버는클래스당하나생성 - 멤버는객체내부가아닌별도의공간에생성 - 클래스멤버라고부름 클래스로딩시에멤버생성 - 객체가생기기전에이미생성 - 객체가생기기전에도사용가능 - 객체가사라져도멤버는사라지지않음 - 멤버는프로그램이종료될때사라짐 동일한클래스의객체들에의해공유됨

BankAccout 클래스의속성정의 연도 : year 이름 : name 입금액 : : money 금리 : rate (static 필드 ) BankAccout 클래스의메소드정의 static 메소드 금리유효성검사 : 0.02 미만또는 0.12초과일경우, : 금리확인메시지출력 stactic 필드와 satatic 메소드접근 static 필드의값변화살펴보기

A. call-by-value : 기본자료형전달할때 실매개변수의값을형식매개변수에복사 형식매개변수의값이변화 -> 실매개변수값변화되지않음

B. call-by-reference : 참조자료형을전달할때 실매개변수 ( 객체 ) 의주소를형식매개변수에전달 형식매개변수가실제매개변수의또다른별명이됨.

인자로배열을전달하면배열의레퍼런스만이전달됨 2 3 4 5 6