PowerPoint 프레젠테이션
|
|
- 윤아 뇌
- 7 years ago
- Views:
Transcription
1 명품 JAVA Essential 1
2 2 학습목표 1. 객체지향상속과자바상속개념이해 2. 클래스상속작성및객체생성 3. protected 접근지정 4. 상속시생성자의실행과정 5. 업캐스팅과 instanceof 연산자 6. 메소드오버라이딩과동적바인딩의이해및활용 7. 추상클래스 8. 인터페이스
3 상속 (inheritance) 3 객체지향상속 자식이부모유전자를물려받는것과유사한개념
4 상속의필요성 상속이없는경우중복된멤버를가진 4 개의클래스 상속을이용한경우중복이제거되고간결해진클래스구조 4
5 클래스상속과객체 5 상속선언 extends 키워드로선언 부모클래스를물려받아확장한다는의미 부모클래스 -> 슈퍼클래스 (super class) 자식클래스 -> 서브클래스 (sub class) class Point { int x, y;... 서브클래스 슈퍼클래스 class ColorPoint extends Point { // Point 를상속받는 ColorPoint 클래스선언... ColorPoint 는 Point 를물려받으므로, Point 에선언된필드와메소드선언필요없음
6 예제 5-1 : 클래스상속 6 (x, y) 의한점을표현하는 Point 클래스와이를상속받아점에색을추가한 ColorPoint 클래스를만들고활용해보자. class Point { private int x, y; // 한점을구성하는 x, y 좌표 void set(int x, int y) { this.x = x; this.y = y; void showpoint() { // 점의좌표출력 System.out.println("(" + x + "," + y + ")"); // Point 를상속받은 ColorPoint 선언 class ColorPoint extends Point { private String color; // 점의색 void setcolor(string color) { this.color = color; void showcolorpoint() { // 컬러점의좌표출력 System.out.print(color); showpoint(); // Point 의 showpoint() 호출 public class ColorPointEx { public static void main(string [] args) { Point p = new Point(); // Point 객체생성 p.set(1, 2); // Point 클래스의 set() 호출 p.showpoint(); (1,2) red(3,4) ColorPoint cp = new ColorPoint(); cp.set(3, 4); // Point 클래스의 set() 호출 cp.setcolor("red"); // ColorPoint의 setcolor() 호출 cp.showcolorpoint(); // 컬러와좌표출력
7 서브클래스객체의모양 7 슈퍼클래스객체와서브클래스의객체는별개 서브클래스객체는슈퍼클래스멤버포함
8 8 서브클래스에서슈퍼클래스멤버접근
9 자바상속의특징 9 클래스다중상속 (multiple inheritance) 불허 C++ 는다중상속가능 C++ 는다중상속으로멤버가중복생성되는문제있음 자바는인터페이스 (interface) 의다중상속허용 모든자바클래스는묵시적으로 Object 클래스상속받음 java.lang.object 는클래스는모든클래스의슈퍼클래스
10 슈퍼클래스의멤버에대한서브클래스의접근 10 슈퍼클래스의 private 멤버 서브클래스에서접근할수없음 슈퍼클래스의디폴트멤버 서브클래스가동일한패키지에있을때, 접근가능 슈퍼클래스의 public 멤버 서브클래스는항상접근가능 슈퍼클래스의 protected 멤버 같은패키지내의모든클래스접근허용패키지여부와상관없이서브클래스는접근가능
11 11 슈퍼클래스멤버의접근지정자
12 protected 멤버 12 protected 멤버에대한접근 같은패키지의모든클래스에게허용상속되는서브클래스 ( 같은패키지든다른패키지든상관없음 ) 에게허용
13 서브클래스 / 슈퍼클래스의생성자호출과실행 13 서브클래스의객체가생성될때 슈퍼클래스생성자와서브클래스생성자모두실행호출순서 서브클래스의생성자먼저호출, 서브클래스의생성자는실행전슈퍼클래스생성자호출실행순서 슈퍼클래스의생성자가먼저실행된후서브클래스의생성자실행
14 슈퍼클래스와서브클래스의생성자호출및실행관계 14 생성자 A 생성자 B 생성자 C
15 서브클래스와슈퍼클래스의생성자선택 15 슈퍼클래스와서브클래스 각각여러개의생성자작성가능 서브클래스의객체가생성될때 슈퍼클래스생성자 1 개와서브클래스생성자 1 개가실행 서브클래스의생성자와슈퍼클래스의생성자가결정되는방식 1. 개발자의명시적선택 서브클래스개발자가슈퍼클래스의생성자명시적선택 super() 키워드를이용하여선택 2. 컴파일러가기본생성자선택 서브클래스개발자가슈퍼클래스의생성자를선택하지않는경우 컴파일러가자동으로슈퍼클래스의기본생성자선택
16 컴파일러에의해슈퍼클래스의기본생성자가묵시적선택 (1) 16 개발자가서브클래스의생성자에대해슈퍼클래스의생성자를명시적으로선택하지않은경우 생성자 A 생성자 B
17 슈퍼클래스에기본생성자가없어오류난경우 17 오류메시지 "Implicit super constructor A() is undefined. Must explicitly invoke another constructor"
18 서브클래스의매개변수를가진생성자에대해서도슈퍼클래스의기본생성자가자동선택 18 개발자가서브클래스의생성자에대해슈퍼클래스의생성자를명시적으로선택하지않은경우 생성자 A 매개변수생성자 B
19 super() 로슈퍼클래스의생성자명시적선택 19 super() 서브클래스에서명시적으로슈퍼클래스의생성자선택호출 사용방식 super(parameter); 인자를이용하여슈퍼클래스의적당한생성자호출 반드시서브클래스생성자코드의제일첫라인에와야함
20 super() 로슈퍼클래스의생성자를명시적으로선택한사례 20 매개변수생성자 A5 매개변수생성자 B5
21 예제 5-2 : super() 를활용한 ColorPoint 작성 21 super() 를이용하여 ColorPoint 클래스의생성자에서서브클래스 Point 의생성자를호출하는예를보인다. x=5, y=6 class Point { private int x, y; // 한점을구성하는 x, y 좌표 Point() { this.x = this.y = 0; Point(int x, int y) { this.x = x; this.y = y; void showpoint() { // 점의좌표출력 System.out.println("(" + x + "," + y + ")"); class ColorPoint extends Point { private String color; // 점의색 ColorPoint(int x, int y, String color) { super(x, y); // Point 의생성자 Point(x, y) 호출 this.color = color; void showcolorpoint() { // 컬러점의좌표출력 System.out.print(color); showpoint(); // Point 클래스의 showpoint() 호출 public class SuperEx { public static void main(string[] args) { ColorPoint cp = new ColorPoint(5, 6, "blue"); cp.showcolorpoint(); blue(5,6) x=5, y=6, color = "blue" 전달
22 22 업캐스팅개념
23 업캐스팅 23 생물이들어가는박스에사람이나코끼리를넣어도무방 * 사람이나코끼리모두생물을상속받았기때문 업캐스팅 (upcasting) 서브클래스의레퍼런스를슈퍼클래스레퍼런스에대입슈퍼클래스레퍼런스로서브클래스객체를가리키게되는현상 class Person { class Student extends Person { Person p; Student s = new Student(); p = s; // 업캐스팅 슈퍼클래스레퍼런스로객체내의슈퍼클래스의멤버만접근가능 p.grade = "A"; // grade 는 Person 의 // 멤버가아니므로 // 컴파일오류
24 업캐스팅사례 class Person { String name; String id; public Person(String name) { this.name = name; class Student extends Person { String grade; String department; public Student(String name) { super(name); public class UpcastingEx { public static void main(string[] args) { Person p; Student s = new Student(" 이재문 "); p = s; // 업캐스팅발생 System.out.println(p.name); // 오류없음 24 p.grade = "A"; // 컴파일오류 p.department = "Com"; // 컴파일오류 이재문
25 다운캐스팅 25 다운캐스팅 (downcasting) 슈퍼클래스레퍼런스를서브클래스레퍼런스에대입 업캐스팅된것을다시원래대로되돌리는것 반드시명시적타입변환지정 class Person { class Student extends Person { Person p = new Student(" 이재문 "); // 업캐스팅 Student s = (Student)p; // 다운캐스팅, 강제타입변환
26 다운캐스팅사례 26 public class DowncastingEx { public static void main(string[] args) { Person p = new Student(" 이재문 "); // 업캐스팅 Student s; s = (Student)p; // 다운캐스팅 System.out.println(s.name); // 오류없음 s.grade = "A"; // 오류없음 이재문
27 업캐스팅레퍼런스로객체구별? 27 업캐스팅된레퍼런스로는객체의실제타입을구분하기어려움 슈퍼클래스는여러서브클래스에상속되기때문 예 ) 아래의클래스계층구조에서, p 가가리키는객체가 Person 객체인지, Student 객체인지, Professor 객체인지구분하기어려움 Person p = new Person(); Person p = new Student(); // 업캐스팅 Person p = new Professor(); // 업캐스팅 Person 타입의레퍼런스 p 로업캐스팅 Person 객체 샘플클래스계층구조 p? Student 객체 Professor 객체 p 가가리키는객체가 Person 객체인지, Student 객체인지, Professor 객체인지구분하기어려움
28 instanceof 연산자사용 28 instanceof 연산자 instanceof 연산자 레퍼런스가가리키는객체의타입식별 객체레퍼런스 instanceof 클래스타입 연산의결과 : true/false 의불린값 instanceof 연산자사용사례 Person p = new Professor(); if(p instanceof Person) if(p instanceof Student) if(p instanceof Researcher) if(p instanceof Professor) new Professor() 객체는 Professor 타입이면서, 동시에 Researcher 타입이기도하고, Person 타입이기도함 // true // false. Student를상속받지않기때문 // true // true if("java" instanceof String) // true if(3 instanceof int) // 문법오류. instanceof 는객체에대한레퍼런스에만사용
29 예제 5-3 : instanceof 연산자활용 29 instanceof 연산자를이용하여 [ 그림 5-15] 의상속관계에따라레퍼런스가가리키는객체의타입을알아본다. 실행결과는무엇인가? class Person { class Student extends Person { class Researcher extends Person { class Professor extends Researcher { public class InstanceOfEx { static void print(person p) { if(p instanceof Person) System.out.print("Person "); if(p instanceof Student) System.out.print("Student "); if(p instanceof Researcher) System.out.print("Researcher "); if(p instanceof Professor) System.out.print("Professor "); System.out.println(); public static void main(string[] args) { System.out.print("new Student() -> "); print(new Student()); System.out.print("new Researcher() -> "); print(new Researcher()); System.out.print("new Professor() -> "); print(new Professor()); new Student() -> Person Student new Researcher() -> Person Researcher new Professor() -> Person Researcher Professor new Professor() 객체는 Person 타입이기도하고 Researcher 타입이기도하고, Professor 타입이기도함
30 메소드오버라이딩의개념 30 메소드오버라이딩 (Method Overriding) 서브클래스에서슈퍼클래스의메소드중복작성슈퍼클래스의메소드무력화, 항상서브클래스에오버라이딩한메소드가실행되도록보장됨 메소드무시하기 로번역되기도함 오버라이딩조건 슈퍼클래스메소드의원형 ( 메소드이름, 인자타입및개수, 리턴타입 ) 동일하게작성
31 31 서브클래스객체와오버라이딩된메소드호출 - 오버라이딩한메소드가실행됨을보장 (a) 오버라이딩된메소드, B 의 f() 직접호출 class A { void f() { System.out.println("A 의 f() 호출 "); class B extends A { void f() { // 클래스 A 의 f() 를오버라이딩 System.out.println("B 의 f() 호출 "); (b) A 의 f() 를호출해도, 오버라이딩된메소드, B 의 f() 가실행됨
32 오버라이딩의목적, 다형성실현 32 오버라이딩으로다형성실현 하나의인터페이스 ( 같은이름 ) 에서로다른구현슈퍼클래스의메소드를서브클래스에서각각목적에맞게다르게구현사례 Shape의 draw() 메소드를 Line, Rect, Circle에서오버라이딩하여다르게구현
33 예제 5-4 : 메소드오버라이딩으로다형성실현 33 Shape 의 draw() 메소드를 Line, Circle, Rect 클래스에서목적에맞게오버라이딩하는다형성의사례를보여준다. class Shape { // 도형의슈퍼클래스 public void draw() { System.out.println("Shape"); class Line extends Shape { public void draw() { // 메소드오버라이딩 System.out.println("Line"); class Rect extends Shape { public void draw() { // 메소드오버라이딩 System.out.println("Rect"); class Circle extends Shape { public void draw() { // 메소드오버라이딩 System.out.println("Circle"); public class MethodOverridingEx { static void paint(shape p) { // Shape을상속받은객체들이동적바인딩 // 매개변수로넘어올수있음 p.draw(); // p가가리키는객체에오버라이딩된 draw() 호출. // 동적바인딩 public static void main(string[] args) { Line line = new Line(); paint(line); // Line 의 draw() 실행. "Line" 출력 Line Shape Line Rect Circle paint(new Shape()); // Shape 의 draw() 실행. "Shape" 출력 paint(new Line()); // 오버라이딩된메소드 Line 의 draw() 실행 paint(new Rect()); // 오버라이딩된메소드 Rect 의 draw() 실행 paint(new Circle()); // 오버라이딩된메소드 Circle 의 draw() 실행
34 예제 5-4 실행과정 34
35 동적바인딩 오버라이딩된메소드호출 35 * 오버라이딩메소드가항상호출된다. public class SuperObject { protected String name; public void paint() { draw(); public void draw() { System.out.println("Super Object"); public static void main(string [] args) { SuperObject a = new SuperObject(); a.paint(); Super Object class SuperObject { protected String name; public void paint() { draw(); 동적바인딩 public void draw() { System.out.println("Super Object"); public class SubObject extends SuperObject { public void draw() { System.out.println("Sub Object"); public static void main(string [] args) { SuperObject b = new SubObject(); b.paint(); Sub Object
36 super 키워드로슈퍼클래스의멤버접근 36 동적바인딩 class SuperObject { protected String name; public void paint() { draw(); 정적바인딩 public void draw() { System.out.println(name); public class SubObject extends SuperObject { protected String name; public void draw() { name = "Sub"; super.name = "Super"; super.draw(); System.out.println(name); public static void main(string [] args) { SuperObject b = new SubObject(); b.paint(); super 슈퍼클래스의멤버를접근할때사용되는레퍼런스 super. 슈퍼클래스의멤버 서브클래스에서만사용 슈퍼클래스의필드접근 슈퍼클래스의메소드호출시 super 로이루어지는메소드호출 : 정적바인딩 Super Sub
37 37 오버로딩과오버라이딩
38 추상클래스 38 추상메소드 (abstract method) abstract 로선언된메소드, 메소드의코드는없고원형만선언 public abstract String getname(); // 추상메소드 public abstract String fail() { return "Good Bye"; // 추상메소드아님. 컴파일오류 추상클래스 (abstract class) 추상메소드를가지며, abstract로선언된클래스추상메소드없이, abstract로선언한클래스 // 추상메소드를가진추상클래스 abstract class Shape { Shape() {... void edit() {... abstract public void draw(); // 추상메소드 // 추상메소드없는추상클래스 abstract class JComponent { String name; void load(string name ) { this.name= name; class fault { // 오류. 추상메소드를가지고있으므로 abstract 로선언되어야함 abstract void f(); // 추상메소드
39 추상클래스의인스턴스생성불가 39 추상클래스는온전한클래스가아니기때문에인스턴스를생성할수없음 JComponent p; p = new JComponent(); Shape obj = new Shape(); // 오류없음. 추상클래스의레퍼런스선언 // 컴파일오류. 추상클래스의인스턴스생성불가 // 컴파일오류. 추상클래스의인스턴스생성불가 컴파일오류메시지 Unresolved compilation problem: Cannot instantiate the type Shape
40 추상클래스의상속과구현 40 추상클래스상속 추상클래스를상속받으면추상클래스가됨 서브클래스도 abstract 로선언해야함 abstract class A { // 추상클래스 abstract int add(int x, int y); // 추상메소드 abstract class B extends A { // 추상클래스 void show() { System.out.println("B"); A a = new A(); // 컴파일오류. 추상클래스의인스턴스생성불가 B b = new B(); // 컴파일오류. 추상클래스의인스턴스생성불가 추상클래스구현 서브클래스에서슈퍼클래스의추상메소드구현 ( 오버라이딩 ) 추상클래스를구현한서브클래스는추상클래스아님 class C extends A { // 추상클래스구현. C 는정상클래스 int add(int x, int y) { return x+y; // 추상메소드구현. 오버라이딩 void show() { System.out.println("C");... C c = new C(); // 정상
41 추상클래스의목적 41 추상클래스의목적 상속을위한슈퍼클래스로활용하는것서브클래스에서추상메소드구현다형성실현 class Shape { public void draw() { System.out.println("Shape"); abstract class Shape { public abstract void draw(); 추상클래스로작성 추상클래스를상속받아추상메소드 draw() 구현 class Line extends DObject { public void draw() { System.out.println("Line"); class Rect extends DObject { public void draw() { System.out.println("Rect"); class Circle extends DObject { public void draw() { System.out.println("Circle");
42 예제 5-5 : 추상클래스의구현 42 추상클래스 Calculator 를상속받는 GoodCalc 클래스를구현하라. abstract class Calculator { public abstract int add(int a, int b); public abstract int subtract(int a, int b); public abstract double average(int[] a);
43 예제 5-5 정답 43 public class GoodCalc extends Calculator { public int add(int a, int b) { // 추상메소드구현 return a + b; public int subtract(int a, int b) { // 추상메소드구현 return a - b; public double average(int[] a) { // 추상메소드구현 double sum = 0; for (int i = 0; i < a.length; i++) sum += a[i]; return sum/a.length; public static void main(string [] args) { GoodCalc c = new GoodCalc(); System.out.println(c.add(2,3)); System.out.println(c.subtract(2,3)); System.out.println(c.average(new int [] { 2,3,4 ));
44 인터페이스의필요성 44 정해진규격 ( 인터페이스 ) 에맞기만하면연결가능. 각회사마다구현방법은다름 정해진규격 ( 인터페이스 ) 에맞지않으면연결불가
45 자바인터페이스 45 자바인터페이스 상수와추상메소드로만구성 : 변수필드없음 인터페이스선언 interface 키워드로선언 interface PhoneInterface { int BUTTONS = 20; // 상수필드선언 void sendcall(); // 추상메소드 void receivecall(); // 추상메소드 public interface 로서 public 생략가능 public static final 로서 public static final 생략가능 abstract public 으로서 abstract public 생략가능 자바인터페이스의특징 상수와추상메소드로만구성 메소드 : public abstract 타입으로생략가능 상수 : public static final 타입으로생략가능인터페이스의객체생성불가 new PhoneInterface(); // 오류. 인터페이스의객체를생성할수없다.
46 인터페이스상속 46 인터페이스간에상속가능 인터페이스를상속하여확장된인터페이스작성가능 extends 키워드로상속선언 예 ) interface MobilePhoneInterface extends PhoneInterface { void sendsms(); // 새로운추상메소드추가 void receivesms(); // 새로운추상메소드추가 인터페이스다중상속허용 예 ) interface MusicPhoneInterface extends PhoneInterface, MP3Interface {...
47 인터페이스구현 47 인터페이스구현 인터페이스를상속받아, 모든추상메소드를구현한클래스선언 implements 키워드로인터페이스구현 예 ) class FeaturePhone implements MobilePhoneInterface { // 인터페이스구현 public void sendcall() {... public void receivecall() {... MobilePhoneInterface의모든메소드구현 public void sendsms() {... public void receivesms() {... // 다른메소드추가가능 public int getbuttons() {... 여러개의인터페이스동시구현도가능 클래스상속과인터페이스구현을동시에할수있음 예제 5-6
48 예제 5-6 : 인터페이스구현과동시에슈퍼클래스상속 48 interface PhoneInterface { int BUTTONS = 20; void sendcall(); void receivecall(); interface MobilePhoneInterface extends PhoneInterface { void sendsms(); void receivesms(); interface MP3Interface { public void play(); public void stop(); class PDA { public int calculate(int x, int y) { return x + y; // SmartPhone 클래스는 PDA를상속받고, // MobilePhoneInterface와 MP3Interface 인터페이스에선언된 // 메소드를모두구현 class SmartPhone extends PDA implements MobilePhoneInterface, MP3Interface { public void sendcall() { System.out.println(" 전화걸기 "); public void receivecall() { System.out.println(" 전화받기 "); public void sendsms() { System.out.println("SMS 보내기 "); public void receivesms() { System.out.println("SMS 받기 "); public void play() { System.out.println(" 음악재생 "); public void stop() { System.out.println(" 재생중지 "); public void schedule() { System.out.println(" 일정관리 "); public class InterfaceEx { public static void main(string [] args) { SmartPhone p = new SmartPhone(); p.sendcall(); p.play(); System.out.println(p.calculate(3,5)); p.schedule(); MobilePhoneInterface 모든메소드구현 MP3Interface 의모든메소드구현 새로운메소드추가 전화걸기음악재생 8 일정관리
5장.key
JAVA Programming 1 (inheritance) 2!,!! 4 3 4!!!! 5 public class Person {... public class Student extends Person { // Person Student... public class StudentWorker extends Student { // Student StudentWorker...!
More informationJAVA PROGRAMMING 실습 07. 상속
상속 부모클래스에정의된필드와메소드를자식클래스가물려받는것 슈퍼클래스 (superclass) 특성을물려주는상위클래스 서브클래스 (subclass) 특성을물려받는하위클래스 슈퍼클래스에자신만의특성 ( 필드, 메소드 ) 추가 슈퍼클래스의특성 ( 메소드 ) 을수정 = 오버라이딩구체화 class Phone 전화걸기전화받기 class MobilePhone 전화걸기전화받기무선기지국연결배터리충전하기
More informationJAVA PROGRAMMING 실습 08.다형성
2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스
More information<4D F736F F F696E74202D205B4A415641C7C1B7CEB1D7B7A1B9D65D35C0E5BBF3BCD3B0FAB4D9C7FCBCBA>
명품 JAVA Programming 1 제 5 장상속과다형성 상속 (inheritance) 2 상속 상위클래스의특성 ( 필드, 메소드 ) 을하위클래스에물려주는것 슈퍼클래스 (superclass) 특성을물려주는상위클래스 서브클래스 (subclass) 특성을물려받는하위클래스 슈퍼클래스에자신만의특성 ( 필드, 메소드 ) 추가 슈퍼클래스의특성 ( 메소드 ) 을수정
More informationMicrosoft PowerPoint - 5장
1 (inheritance) 2 제 5 장과다형성 상위클래스의특성 ( 필드, 메소드 ) 을하위클래스에물려주는것 슈퍼클래스 (superclass) 특성을물려주는상위클래스 서브클래스 (subclass) 특성을물려받는하위클래스 슈퍼클래스에자신만의특성 ( 필드, 메소드 ) 추가 슈퍼클래스의특성 ( 메소드 ) 을수정 : 구체적으로오버라이딩이라고부름 슈퍼클래스에서하위클래스로갈수록구체적
More informationPowerPoint 프레젠테이션
Lab 4 ADT Design 클래스로정의됨. 모든객체들은힙영역에할당됨. 캡슐화 (Encapsulation) : Data representation + Operation 정보은닉 (Information Hiding) : Opertion부분은가려져있고, 사용자가 operation으로만사용가능해야함. 클래스정의의형태 public class Person { private
More informationgnu-lee-oop-kor-lec06-3-chap7
어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base
More informationMicrosoft PowerPoint - java1-lecture5.ppt [호환 모드]
상속 (Inheritance) 객체지향개념상속, 추상클래스, 다형성 514760-1 2016 년가을학기 10/06/2016 박경신 상속 상위클래스의특성 ( 필드, 메소드 ) 을하위클래스에물려주는것 슈퍼클래스 (superclass) 특성을물려주는상위클래스 서브클래스 (subclass) 특성을물려받는하위클래스 슈퍼클래스에자신만의특성 ( 필드, 메소드 ) 추가 슈퍼클래스의특성
More information(Microsoft PowerPoint - java2-lecture3.ppt [\310\243\310\257 \270\360\265\345])
Class Class, Collections 514770-1 2017 년봄학기 3/22/2017 박경신 클래스 (Class) 객체의속성과행위선언 객체의설계도혹은틀 객체 (Object) 클래스의틀로찍어낸실체 메모리공간을갖는구체적인실체 클래스를구체화한객체를인스턴스 (instance) 라고부름 객체와인스턴스는같은뜻으로사용 클래스구조 클래스접근권한, public 다른클래스들에서이클래스를사용하거나접근할수있음을선언
More informationq 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2
객체지향프로그래밍 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 q 객체지향프로그래밍의이해 v 프로그래밍기법의발달 A 군의사업발전 1 단계 구조적프로그래밍방식 3 q 객체지향프로그래밍의이해 A 군의사업발전 2 단계 객체지향프로그래밍방식 4 q 객체지향프로그래밍의이해 v 객체란무엇인가
More informationMicrosoft PowerPoint - 6주차.pptx
1 6 주차 클래스상속 유전적상속과객체지향상속 2 그래요우리를꼭닮았어요 아빠의유산이다. 나를꼭닮았군 유산상속 유전적상속 : 객체지향상속 생물 동물 식물 상속받음 어류사람나무풀 유전적상속과관계된생물분류 C++ 에서의상속 (Inheritance) 3 C++ 에서의상속이란? 클래스사이에서상속관계정의 객체사이에는상속관계없음 기본클래스의속성과기능을파생클래스에물려주는것
More informationPowerPoint 프레젠테이션
상속 배효철 th1g@nate.com 1 목차 상속개념 클래스상속 부모생성자호출 메소드재정의 final 클래스와 final 메소드 protected 접근제한자 타입변환과다형성 추상클래스 2 상속개념 상속 (Inheritance) 이란? 현실세계 : 부모가자식에게물려주는행위 부모가자식을선택해서물려줌 객체지향프로그램 : 자식 ( 하위, 파생 ) 클래스가부모 (
More informationPowerPoint 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 informationMicrosoft PowerPoint - 2강
컴퓨터과학과 김희천교수 학습개요 Java 언어문법의기본사항, 자료형, 변수와상수선언및사용법, 각종연산자사용법, if/switch 등과같은제어문사용법등에대해설명한다. 또한 C++ 언어와선언 / 사용방법이다른 Java의배열선언및사용법에대해서설명한다. Java 언어의효과적인활용을위해서는기본문법을이해하는것이중요하다. 객체지향의기본개념에대해알아보고 Java에서어떻게객체지향적요소를적용하고있는지살펴본다.
More informationMicrosoft PowerPoint - java1-lecture5.ppt [호환 모드]
Private Constructor 객체지향개념상속, 추상클래스, 다형성 514760-1 2017 년가을학기 9/25/2017 박경신 Private 생성자 정적멤버만포함하는클래스에서일반적으로사용 클래스가인스턴스화될수없음을분명히하기위해 private constructor를사용 public class Counter { private Counter() { public
More informationPowerPoint 프레젠테이션
인터페이스 배효철 th1g@nate.com 1 목차 인터페이스의역할 인터페이스선언 인터페이스구현 인터페이스사용 타입변환과다형성 인터페이스상속 디폴트메소드와인터페이스확장 2 인터페이스의역할 인터페이스란? 개발코드와객체가서로통신하는접점 개발코드는인터페이스의메소드만알고있으면 OK 인터페이스의역할 개발코드가객체에종속되지않게 -> 객체교체할수있도록하는역할 개발코드변경없이리턴값또는실행내용이다양해질수있음
More informationPowerPoint 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 informationPowerPoint 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 informationDesign 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쉽게 풀어쓴 C 프로그래밍
Power Java 제 11 장상속 이번장에서학습할내용 상속이란? 상속의사용 메소드재정의 접근지정자 상속과생성자 Object 클래스 종단클래스 상속을코드를재사용하기위한중요한기법입니다. 상속이란? 상속의개념은현실세계에도존재한다. 상속의장점 상속의장점 상속을통하여기존클래스의필드와메소드를재사용 기존클래스의일부변경도가능 상속을이용하게되면복잡한 GUI 프로그램을순식간에작성
More informationJAVA PROGRAMMING 실습 02. 표준 입출력
# 왜생겼나요..? : 절차지향언어가가진단점을보완하고다음의목적을달성하기위해..! 1. 소프트웨어생산성향상 객체지향소프트웨어를새로만드는경우이미만든개체지향소프트웨어를상속받거나객체를 가져다재사용할수있어부분수정을통해소프트웨어를다시만드는부담줄임. 2. 실세계에대한쉬운모델링 실세계의일은절차나과정보다는일과관련된많은물체들의상호작용으로묘사. 캡슐화 메소드와데이터를클래스내에선언하고구현
More informationPowerPoint 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 informationPowerPoint Presentation
객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean
More informationPowerPoint Presentation
객체지향프로그래밍 상속 손시운 ssw5176@kangwon.ac.kr 상속이란? 상속의개념은현실세계에도존재한다. 2 상속의장점 상속의장점 상속을통하여기존클래스의필드와메소드를재사용 기존클래스의일부변경도가능 상속을이용하게되면복잡한 GUI 프로그램을순식간에작성 상속은이미작성된검증된소프트웨어를재사용 신뢰성있는소프트웨어를손쉽게개발, 유지보수 코드의중복을줄일수있다. 3
More information<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>
Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.
More informationC++ Programming
C++ Programming 상속과다형성 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 상속의이해 상속과다형성 다중상속 2 상속과다형성 객체의이해 상속클래스의객체의생성및소멸 상속의조건 상속과다형성 다중상속 3 상속의이해 상속 (Inheritance) 클래스에구현된모든특성 ( 멤버변수와멤버함수 )
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
제 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슬라이드 1
UNIT 12 상속과오버라이딩 로봇 SW 교육원 2 기 최상훈 학습목표 2 클래스를상속핛수있다. 메소드오버라이딩을사용핛수있다. 패키지선언과 import 문을사용핛수있다. 상속 (inheritance) 3 상속이란 기존의클래스를기반으로새로운클래스를작성 두클래스를부모와자식으로관계를맺어주는것 자식은부모의모든멤버를상속받음 연관된일렦의클래스에대핚공통적인규약을정의 class
More informationJAVA 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쉽게 풀어쓴 C 프로그래밍
제 11 장상속 1. 상속의개념을이해한다. 2. 상속을이용하여자식클래스를작성할수있다. 3. 상속과접근지정자와의관계를이해한다. 4. 상속시생성자와소멸자가호출되는순서를이해한다. 이번장에서만들어볼프로그램 class Circle { int x, y; int radius;... class Rect { int x, y; int width, height;... 중복 상속의개요
More informationMicrosoft PowerPoint - additional08.ppt [호환 모드]
8. 상속과다형성 (polymorphism) 상속된객체와포인터 / 참조자의관계 정적바인딩과동적바인딩 virtual 소멸자 Jong Hyuk Park 상속의조건 public 상속은 is-a 관계가성립되도록하자. 일반화 ParttimeStd 구체화 2 상속의조건 잘못된상속의예 현실세계와완전히동떨어진모델이형성됨 3 상속의조건 HAS-A( 소유 ) 관계에의한상속!
More informationPowerPoint 프레젠테이션
클래스 ( 계속 ) 배효철 th1g@nate.com 1 목차 인스턴스멤버와 this 객체의소멸과가비지 정적멤버와 static final 필드와상수 패키지 접근제한자 Getter와 Setter 2 목차 인스턴스멤버와 this 객체의소멸과가비지 정적멤버와 static final 필드와상수 패키지 접근제한자 Getter와 Setter 3 인스턴스멤버와 this 인스턴스멤버란?
More information쉽게 풀어쓴 C 프로그래밍
Power Java 제 9 장생성자와접근제어 이번장에서학습할내용 생성자 정적변수 정적메소드 접근제어 this 클래스간의관계 객체가생성될때초기화를담당하는생성자에대하여살펴봅니다. 생성자 생성자 (contructor): 객체가생성될때에필드에게초기값을제공하고필요한초기화절차를실행하는메소드 생성자의예 class Car { private String color; // 색상
More informationPowerPoint 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 informationPowerPoint 프레젠테이션
클래스 ( 계속 ) 배효철 th1g@nate.com 1 목차 인스턴스멤버와 this 객체의소멸과가비지 정적멤버와 static final 필드와상수 패키지 접근제한자 Getter와 Setter 2 목차 인스턴스멤버와 this 객체의소멸과가비지 정적멤버와 static final 필드와상수 패키지 접근제한자 Getter와 Setter 3 인스턴스멤버와 this 인스턴스멤버란?
More information제11장 프로세스와 쓰레드
제9장자바쓰레드 9.1 Thread 기초 (1/5) 프로그램 명령어들의연속 (a sequence of instruction) 프로세스 / Thread 실행중인프로그램 (program in execution) 프로세스생성과실행을위한함수들 자바 Thread 2 9.1 Thread 기초 (2/5) 프로세스단위작업의문제점 프로세스생성시오버헤드 컨텍스트스위치오버헤드
More informationMicrosoft PowerPoint - chap11
10 장객체 - 지향프로그래밍 II 상속 상속 (Inheritance) 상속이란무엇인가? 기존의클래스로부터새로운클래스를유도하는것 자식클래스는부모클래스의메쏘드와데이터를상속 자식클래스에새로운변수나메쏘드를추가할수있다. 기존클래스 부모클래스 (parent class), 수퍼클래스 (superclass), 기반클래스 (base class) 유도클래스 자식클래스 (child
More informationNo Slide Title
상속 이충기 명지대학교컴퓨터공학과 상속 Q: 건설회사는기존아파트와조금다르거나추가적인특징들을가진새아파트를지을때어떻게하는가? A: 2 상속 상속 (inheritance) 은클래스들을연관시키는자연스럽고계층적인방법이다. 상속은객체지향프로그래밍의가장중요한개념중의하나이다. 상속은 은 이다 라는관계 (is-a relationship) 를나타낸다. 이관계를적용하여클래스들을상하관계로연결하는것이상속이다.
More informationMicrosoft PowerPoint - java2 [호환 모드]
10 장객체- 지향프로그래밍 II 창병모 1 상속 창병모 2 상속 (Inheritance) 상속이란무엇인가? 기존의클래스로부터새로운클래스를유도하는것 자식클래스는부모클래스의메쏘드와데이터를상속 자식클래스에새로운변수나메쏘드를추가할수있다. 기존클래스 부모클래스 (parent class), 수퍼클래스 (superclass), 기반클래스 (base class) 유도클래스
More informationPowerPoint Presentation
객체지향프로그래밍 인터페이스, 람다식, 패키지 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 홈네트워킹 public interface RemoteControl { public void turnon(); // 가전제품을켠다. public void turnoff(); // 가전제품을끈다. 인터페이스를구현 public class Television
More informationPowerPoint Presentation
자바프로그래밍 1 클래스와메소드심층연구 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 접근제어 class A { private int a; int b; public int c; // 전용 // 디폴트 // 공용 public class Test { public static void main(string args[]) { A obj = new
More informationMicrosoft Word - java19-1-midterm-answer.doc
중간고사 담당교수 : 단국대학교응용컴퓨터공학박경신 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤쪽이나연습지에기술한내용은답안으로인정안함. 답에는반드시네모를쳐서확실히표시할것. 답안지에학과, 학번, 이름외에본인의암호 (4자리숫자 ) 를기입하면성적공고시학번대신암호를 사용할것임. 1. 다음질문에답을하라. (55
More informationJAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각
JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.
More information10.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µå
기초통계프로그래밍 클래스, 객체, 변수, 메소드 hmkang@hallym.ac.kr 금융정보통계학과 강희모 ( 금융정보통계학과 ) 기초통계프로그래밍 1 / 26 자바구성파일 소스파일 소스파일 : 사용자가직접에디터에입력하는파일로자바프로그램언어가제공하는형식으로제작 소스파일의확장자는.java 임 컴파일 : javac 명령어를이용하여프로그래머가만든소스파일을컴파일하여실행파일.class
More informationJAVA PROGRAMMING 실습 05. 객체의 활용
2015 학년도 2 학기 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
More information비긴쿡-자바 00앞부속
IT COOKBOOK 14 Java P r e f a c e Stay HungryStay Foolish 3D 15 C 3 16 Stay HungryStay Foolish CEO 2005 L e c t u r e S c h e d u l e 1 14 PPT API C A b o u t T h i s B o o k IT CookBook for Beginner Chapter
More informationMicrosoft PowerPoint - java1-lecture6.ppt [호환 모드]
실세계의인터페이스와인터페이스의필요성 인터페이스, 람다식 514760-1 2017 년가을학기 10/2/2017 박경신 정해진규격 ( 인터페이스 ) 에맞기만하면연결가능. 각회사마다구현방법은다름 정해진규격 ( 인터페이스 ) 에맞지않으면연결불가 인터페이스의필요성 인터페이스를이용하여다중상속구현 자바에서클래스다중상속불가 인터페이스는명세서와같음 인터페이스만선언하고구현을분리하여,
More information설계란 무엇인가?
금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 9 강. 클래스의활용목차 멤버함수의외부정의 this 포인터 friend 선언 static 멤버 임시객체 1 /17 9 강. 클래스의활용멤버함수의외부정의 멤버함수정의구현방법 내부정의 : 클래스선언내에함수정의구현 외부정의 클래스선언 : 함수프로토타입 멤버함수정의 : 클래스선언외부에구현
More informationPowerPoint Presentation
Package Class 1 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section
More informationSlide 1
SeoulTech 2011-2 nd 프로그래밍입문 (2) Chapter 14. 상속 박종혁교수 (http://www.parkjonghyuk.net) Tel: 970-6702 Email: jhpark1@snut.ac.kr Learning Objectives 상속의기본 파생클래스와생성자 protected: 제한자 멤버함수의재정의 상속되지않는함수들 상속을이용한프로그래밍
More information쉽게 풀어쓴 C 프로그래밍
Power Java 제 7 장클래스와객체 이번장에서학습할내용 객체지향이란? 객체 메시지 클래스 객체지향의장점 String 클래스 객체지향개념을완벽하게이해해야만객체지향설계의이점을활용할수있다. 실제세계는객체로이루어진다. 객체지향이란? 실제세계를모델링하여소프트웨어를개발하는방법 절차지향과객체지향 절차지향프로그래밍 (procedural programming): 문제를해결하는절차를중요하게생각하는방법
More informationChapter 6 Objects and Classes
11 장상속과다형성 1 강의목표 상속 (inheritance) 을이용하여기본클래스 (base class) 로부터파생클래스 (derived class) 생성 (11.2) 파생클래스유형의객체를기본클래스유형의매개변수 (parameter) 로전달함으로써일반화프로그래밍 (generic programming) 작업 (11.3) 생성자와소멸자의연쇄적처리 (chaining)
More informationMicrosoft Word - java18-1-final-answer.doc
기말고사 담당교수 : 단국대학교응용컴퓨터공학박경신 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤쪽이나연습지에기술한내용은답안으로인정안함. 답에는반드시네모를쳐서확실히표시할것. 답안지에학과, 학번, 이름외에본인의암호 (4자리숫자 ) 를기입하면성적공고시학번대신암호를사용할것임. 1. 다음 sub1 과 sub2
More informationPowerPoint Presentation
객체지향프로그래밍 클래스와메소드심층연구 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 접근제어 class A { private int a; int b; public int c; // 전용 // 디폴트 // 공용 public class Test { public static void main(string args[]) { A obj = new
More informationPowerPoint Presentation
객체지향프로그래밍 클래스, 객체, 메소드 손시운 ssw5176@kangwon.ac.kr 실제세계는객체로이루어진다. 2 객체와메시지 3 객체지향이란? 실제세계를모델링하여소프트웨어를개발하는방법 4 객체 5 객체란? 객체 (Object) 는상태와동작을가지고있다. 객체의상태 (state) 는객체의특징값 ( 속성 ) 이다. 객체의동작 (behavior) 또는행동은객체가취할수있는동작
More informationMicrosoft PowerPoint - Lect04.pptx
OBJECT ORIENTED PROGRAMMING Object Oriented Programming 이강의록은 Power Java 저자의강의록을사용했거나재편집된것입니다. Class 와 object Class 와객체 클래스의일생 메소드 필드 String Object Class 와객체 3 클래스 클래스의구성 클래스 (l (class): 객체를만드는설계도 클래스로부터만들어지는각각의객체를특별히그클래스의인스턴스
More information(Microsoft PowerPoint - java1-lecture11.ppt [\310\243\310\257 \270\360\265\345])
예외와예외클래스 예외처리 514760-1 2016 년가을학기 12/08/2016 박경신 오류의종류 에러 (Error) 하드웨어의잘못된동작또는고장으로인한오류 에러가발생되면 JVM실행에문제가있으므로프로그램종료 정상실행상태로돌아갈수없음 예외 (Exception) 사용자의잘못된조작또는개발자의잘못된코딩으로인한오류 예외가발생되면프로그램종료 예외처리 추가하면정상실행상태로돌아갈수있음
More informationMicrosoft 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슬라이드 1
UNIT 16 예외처리 로봇 SW 교육원 3 기 최상훈 학습목표 2 예외처리구문 try-catch-finally 문을사용핛수있다. 프로그램오류 3 프로그램오류의종류 컴파일에러 (compile-time error) : 컴파일실행시발생 럮타임에러 (runtime error) : 프로그램실행시발생 에러 (error) 프로그램코드에의해서해결될수없는심각핚오류 ex)
More informationMicrosoft 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 information09-interface.key
9 Database insert(record r): boolean find(key k): Record 1 Record getkey(): Key * Record Key Database.? Key equals(key y): boolean Database insert(record r): boolean find(key k): Record * Database OK 1
More informationC++ Programming
C++ Programming 클래스와데이터추상화 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 객체지향프로그래밍 클래스와객체 2 객체지향프로그래밍 객체지향언어 (Object-Oriented Language) 프로그램을명령어의목록으로보는시각에서벗어나여러개의 독립된단위, 즉 객체 (Object) 들의모임으로파악
More informationMicrosoft PowerPoint - additional07.ppt [호환 모드]
보충자료 7. 상속 (inheritance) 의이해 상속의기본개념 상속의생성자, 소멸자 protected 멤버 Jong Hyuk Park 상속의기본개념 Jong Hyuk Park 상속의기본개념 상속의예 1 " 철수는아버지로부터좋은목소리와큰키를물려 받았다." 상속의예 2 "Student 클래스가 Person 클래스를상속한다." 아버지 Person 철수 Stduent
More informationPowerPoint 프레젠테이션
클래스 배효철 th1g@nate.com 1 목차 객체지향프로그래밍 객체지향프로그래밍의특징 객체와클래스 클래스 클래스의구성 클래스의선언및객체생성 필드 생성자 메소드 2 목차 객체지향프로그래밍 객체지향프로그래밍의특징 객체와클래스 클래스 클래스의구성 클래스의선언및객체생성 필드 생성자 메소드 3 객체지향프로그래밍 객체지향프로그래밍이란? OOP ( Object Oriented
More informationJAVA PROGRAMMING 실습 09. 예외처리
2015 학년도 2 학기 예외? 프로그램실행중에발생하는예기치않은사건 예외가발생하는경우 정수를 0으로나누는경우 배열의크기보다큰인덱스로배열의원소를접근하는경우 파일의마지막부분에서데이터를읽으려고하는경우 예외처리 프로그램에문제를발생시키지않고프로그램을실행할수있게적절한조치를취하는것 자바는예외처리기를이용하여예외처리를할수있는기법제공 자바는예외를객체로취급!! 나뉨수를입력하시오
More information1. 객체의생성과대입 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쉽게 풀어쓴 C 프로그래밍
제 5 장생성자와접근제어 1. 객체지향기법을이해한다. 2. 클래스를작성할수있다. 3. 클래스에서객체를생성할수있다. 4. 생성자를이용하여객체를초기화할수 있다. 5. 접근자와설정자를사용할수있다. 이번장에서만들어볼프로그램 생성자 생성자 (constructor) 는초기화를담당하는함수 생성자가필요한이유 #include using namespace
More information(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교육자료
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 informationPowerPoint 프레젠테이션
@ 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 informationSlide 1
SeoulTech 2011-2 nd 프로그래밍입문 (2) Chapter 15. 다형성과가상함수 박종혁교수 (http://www.parkjonghyuk.net) Tel: 970-6702 Email: jhpark1@snut.ac.kr Learning Objectives 가상함수 (Virtual Function) 기본 사후바인딩 (late binding) / 동적바인딩
More information자바 프로그래밍
5 (kkman@mail.sangji.ac.kr) (Class), (template) (Object) public, final, abstract [modifier] class ClassName { // // (, ) Class Circle { int radius, color ; int x, y ; float getarea() { return 3.14159
More informationMicrosoft PowerPoint - Java7.pptx
HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)
More informationMicrosoft PowerPoint - 04-UDP Programming.ppt
Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여
More information4 장클래스와객체 클래스와객체 public과 private 구조체와클래스객체의생성과생성자객체의소멸과소멸자생성자와소멸자의호출순서디폴트생성자와디폴트소멸자멤버초기화멤버함수의외부정의멤버함수의인라인함수선언 C++ 프로그래밍입문
4 장클래스와객체 클래스와객체 public과 private 구조체와클래스객체의생성과생성자객체의소멸과소멸자생성자와소멸자의호출순서디폴트생성자와디폴트소멸자멤버초기화멤버함수의외부정의멤버함수의인라인함수선언 C++ 프로그래밍입문 1. 클래스와객체 추상데이터형 : 속성 (attribute) + 메서드 (method) 예 : 자동차의속성과메서드 C++ : 주로 class
More information<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074>
객체지향프로그램밍 (Object-Oriented Programming) 1 C++ popular C 객체지향 (object oriented) C++ C : 상위계층언어특징 + 어셈블리언어특징 C++ : 소프트웨어개발플랫폼에객체지향개념제공 객체지향 : 자료와이들자료를어떻게다룰것인지따로생각하지않고단지하나의사물로생각 형 변수가사용하는메모리크기 변수가가질수있는정보
More information오버라이딩 (Overriding)
WindowEvent WindowEvent 윈도우가열리거나 (opened) 닫힐때 (closed) 활성화되거나 (activated) 비활성화될때 (deactivated) 최소화되거나 (iconified) 복귀될때 (deiconified) 윈도우닫힘버튼을누를때 (closing) WindowEvent 수신자 abstract class WindowListener
More informationMicrosoft Word - java19-1-final-answer.doc
기말고사 담당교수 : 단국대학교응용컴퓨터공학박경신 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤쪽이나연습지에기술한내용은답안으로인정안함. 답에는반드시네모를쳐서확실히표시할것. 답안지에학과, 학번, 이름외에본인의암호 (4자리숫자 ) 를기입하면성적공고시학번대신암호를 사용할것임. 1. 다음코드의실행결과를적어라
More informationPowerPoint Presentation
Package Class 3 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section
More information강의계획서 1. 강의개요 학습과목명 객체지향프로그래밍 Ⅰ 학점 3 학점교 강사명교 강사전화번호 강의시간 4시간강의실수강대상 2. 교과목학습목표 4차산업혁명시대의도래로컴퓨터와프로그래밍에대한관심이커지고있으며, 여러분야에서소프트웨어의중요성을강조하며, 새시대를이끌
강의계획서. 강의개요 학습과목명 객체지향프로그래밍 Ⅰ 학점 학점교 강사명교 강사전화번호 강의시간 시간강의실수강대상 E-mail. 교과목학습목표 차산업혁명시대의도래로컴퓨터와프로그래밍에대한관심이커지고있으며, 여러분야에서소프트웨어의중요성을강조하며, 새시대를이끌어나갈핵심기술의기초로프로그래밍에주목하고있다. 이에본교과목에서객체지향언어의기본개념을학습한후구조적프로그래밍언어와의차이점을학습한다.
More information1. 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 informationPowerPoint 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 informationMicrosoft PowerPoint - java1-lecture6.ppt [호환 모드]
Class 접근제어 인터페이스 514760-1 2019 년봄학기 4/9/2019 박경신 Protected 는같은패키지내와파생클래스에서사용가능 public class Car { private boolean disel; // private은파생클래스에서사용하지못함 protected boolean gasoline; protected int wheel = 4; protected
More information슬라이드 1
4 장클래스다이어그램 구성요소 객체와클래스 클래스추출 한빛미디어 ( 주 ) 학습목표 클래스의개념과구성요소를이해한다. 클래스추출과관계를학습한다. 관계를코드로이해한다. 2 학습목표 클래스의구성요소 클래스이름 (class name) 공통의속성, 메서드 ( 오퍼레이션 ), 관계, 의미를공유하는객체들의집합에대한기술이다. 속성 (attributes) 클래스의구조적특성에이름을붙인것으로구조적특성에해당하는인스턴스가보유할수있는값의범위를기술한다.
More informationNetwork Programming
Part 5 확장된 Network Programming 기술 1. Remote Procedure Call 2. Remote Method Invocation 3. Object Request Broker 2. Java RMI
More informationSpring Data JPA Many To Many 양방향 관계 예제
Spring Data JPA Many To Many 양방향관계예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) 엔티티매핑 (Entity Mapping) M : N 연관관계 사원 (Sawon), 취미 (Hobby) 는다 : 다관계이다. 사원은여러취미를가질수있고, 하나의취미역시여러사원에할당될수있기때문이다. 보통관계형 DB 에서는다 : 다관계는 1
More information01-OOPConcepts(2).PDF
Object-Oriented Programming Concepts Tel: 02-824-5768 E-mail: hhcho@selabsoongsilackr? OOP (Object) (Encapsulation) (Message) (Class) (Inheritance) (Polymorphism) (Abstract Class) (Interface) 2 1 + = (Dependency)
More informationPowerPoint Template
7. 상속 (inheritance) 의이해 상속의기본개념 상속의생성자, 소멸자 protected 멤버 Jong Hyuk Park 상속의기본개념 Jong Hyuk Park 상속의기본개념 상속의예 1 " 철수는아버지로부터좋은목소리와큰키를물려받았다." 상속의예 2 "Student 클래스가 Person 클래스를상속한다." 아버지 Person 철수 Stduent 3
More informationPowerPoint Template
9. 객체지향프로그래밍 대구가톨릭대학교 IT 공학부 소프트웨어공학연구실 목차 2 9.1 개요 9.2 객체지향프로그래밍언어 9.3 추상자료형 9.4 상속 9.5 동적바인딩 9.1 객체지향의개념 (1) 3 객체지향의등장배경 소프트웨어와하드웨어의발전불균형 소프트웨어모듈의재사용과독립성을강조 객체 (object) 란? 우리가다루는모든사물을일컫는말 예 ) 하나의점, 사각형,
More information1. 상속의기본개념 다음과같은문제를위한클래스설계 자동차 속성 : 색상, 배기량, 현재속도 메서드 : 가속하라, 멈춰라, 시동을켜라 트럭 속성 : 색상, 배기량, 현재속도, 최대중량 메서드 : 가속하라, 멈춰라, 시동을켜라 택시 속성 : 색상, 배기량, 현재속도, 요금,
8 장상속 상속의기본개념상속관련문제제기 base 클래스의접근제어와 protected 멤버상속관계에서의생성자와소멸자함수재정의 (function overriding) 디폴트액세스지정자와구조체 derived 클래스로부터의상속다중상속 virtual base 클래스 derived 클래스의디폴트복사생성자와디폴트대입연산자 private 생성자의사용 C++ 프로그래밍입문
More informationMicrosoft 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 informationMicrosoft Word - EEL2 Lab4.docx
EEL2 LAB Week 4: Inheritance 1. 다음을만족하는클래스 Employee를작성하시오.(1에서 4번까지관련된문제입니다.) 클래스 Employee 직원는클래스 Regular 정규직와 Temporary 비정규직의상위클래스 필드 : 이름, 나이, 주소, 부서, 월급정보를필드로선언 생성자 : 이름, 나이, 주소, 부서를지정하는생성자정의 메소드 printinfo():
More informationMicrosoft PowerPoint - CSharp-10-예외처리
10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.
More information슬라이드 1
9 장. 생성자와가비지컬렉션 학습목표 스택과힙지역변수와인스턴스변수객체생성과생성자객체제거 ( 가비지컬렉션 ) 객체의삶과죽음 그리고그가말했어. 다리에감각이없어! 그리고내가말했지. 조! 정신차려조! 하지만이미너무늦었어. 가비지컬렉터가나타났고그는죽고말았지. 내가만나본가장좋은객체였는데말야 스택과힙 스택 (stack) 메소드호출과지역변수가사는곳 지역변수는스택변수라고도부릅니다.
More informationMicrosoft PowerPoint - Chap12-OOP.ppt
객체지향프로그래밍 (Object Oriented Programming) 12 장강사 강대기 차례 (Agenda) 멤버에대한동적메모리할당 암시적 / 명시적복사생성자 암시적 / 명시적오버로딩대입연산자 생성자에 new 사용하기 static 클래스멤버 객체에위치지정 new 사용하기 객체를지시하는포인터 StringBad 클래스 멤버에포인터사용 str static 멤버
More informationMicrosoft 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쉽게 풀어쓴 C 프로그래밍
클래스와객체 I 이번시간에서학습할내용 클래스와객체 객체의일생 메소드 필드 UML 직접클래스를작성해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다. 필드 (field) 는객체의속성을나타낸다. 메소드 (method) 는객체의동작을나타낸다. 클래스정의의예 class Car { // 필드정의 public int speed;
More informationCluster management software
자바네트워크프로그래밍 (OCJP 국제공인자격취득중심 ) 충북대학교 최민 기본예제 예외클래스를정의하고사용하는예제 class NewException extends Exception { public class ExceptionTest { static void methoda() throws NewException { System.out.println("NewException
More informationMicrosoft PowerPoint 장강의노트.ppt
클래스와객체 클래스와객체 객체 : 우리주변의어떤대상의모델 - 예 : 사람, 차, TV, 개 객체 = 상태 (state) + 행동 (behavior) - 예 : 개의상태 - 종자, 이름, 색개의행동 - 짖다, 가져오다 상태는변수로행동은메소드로나타냄 객체는클래스에의해정의된다. 클래스는객체가생성되는틀혹은청사진이다. 2 예 : 클래스와객체 질문 : 클래스와객체의다른예는?
More informationint total = 0; for( int i=1; i<=5; i++ ) { for( int j=1; j<=i; i++ ) { total ++; System.out.println( total ); 대구분 : 객체와 Class 소구분 : 객체생성과사용 / Class 선언
과목명총문항수 O/X 문제형 4 지선다형 5 지선다형단답형서술형 JAVA( 필기테스트 ) 20 문항 0 문항 10 문항 0 문항 10 문항 0 문항 대구분 : Java API 소구분 : Object class/string class/stringbuffer/wrapper ( 단답형 ) [Q1] 다음프로그램은간단한회원정보를포함하고있는클래스를작성한것이다. 실행결과를적으시오.
More information