Homework_11
2020. 5. 30. 15:09
📌 java/Object-oriented Programming
· Submit your project using the following file format: Project_StudentName_Student_ID.zip Example: Project_Hongkildong_201620505.zip The zip file will contain two files, namely: a) Report file with file format “ProjectReport “to write class diagrams using ML b) Source code file that contains the codes of all classes. I. General Objective : To write a Java program that includes the basic concepts..
Homework_10
2020. 5. 19. 21:12
📌 java/Object-oriented Programming
OOP Lab 10 Due Date: May 22, 23 : 59 I. Objectives 1. Learning the structure of Exception Handling. 2. The five key words in Exception handling structure: try, catch, finally, throws and throw keywords 3. Learning the difference between Checked Exceptions and Unchecked Exceptions. II. Questions(20 points) 1. Answer the following questions after executing the code in Fig11.3 (refer the slide) A. ..
java - Anonymous class
2020. 5. 16. 12:29
📌 java/java
https://www.youtube.com/watch?v=jRusDJ5ca4g&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp&index=95 자기 이름을 못 쓰고 조상클래스의 이름을 쓴다. 혹은 interface를 쓰던가 한다. 익명이니까 이름을 못 쓴다. 이름이 없어서 숫자가 붙는다. 일회성이니까 이렇게 안쓰고 밑에 처럼 쓴다. new 조상 이름 or 인터페이스 이름 { }; 예제 조상 이름으로 쓴다. 클래스 이름도 정의해줘야 하니까 new ActionListner() {}; 라고 쓴다. 그리고 안의 내용을 그대로 집어 넣으면 된다.
java - inner class (자바의 정석)
2020. 5. 13. 22:17
📌 java/java
www.youtube.com/watch?v=cZJyRGX2VoM&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp&index=95&t=0s 1. 외부 클래스의 인스턴스를 먼저 생성해야 인스턴스 클래스의 인스턴스를 생성 가능하다. class B에서 class A의 객체를 생성해야 쓸 수 있는데 class A의 객체를 만들지 않아도 class B에서 class A의 객체를 쓸 수 있다. BBB 클래스에서 b 객체를 사용하려면 또 AAA클래스에서 b객체를 만들어야 한다. BBB클래스는 AAA 안에서만 사용한다는 가정하에 inner class로 해준 것이다. 여기서 main에서 내부클래스의 BBB 객체는 생성하지 못한다. 왜냐하면 내부클래스는 외부클래스를 먼저 생성한 다음에야 생성이 가능하..
java - Inner Class
2020. 5. 13. 20:18
📌 java/java
Inner Classes 클래스나 인터페이스 내부에서 선언한다. 코드를 더 읽기 쉽고, 더 오래 유지하기 위해 사용한다. 이너클래스는 모든 멤버, 메소드에 접근 가능하다. 이너 클래스 vs 중첩 클래스 Inner 클래스는 중첩클래스의 한 부분이다. 정적 중첩 클래스는 이너 클래스이다. 중첩클래스의 2가지 타입 1. 정적 중첩클래스 = 이너 클래스 2. 동적 중첩클래스 정적 중첩 클래스 (이너 클래스) 멤버 이너 클래스 익명 이너 클래스 지역 이너 클래스 동적 중첩 클래스 1. Member inner class 정적 중첩 클래스는 클래스 내에서 만들어지고, 외부 메소드는 Member inner class라고 불린다. 멤버 이너 클래스로 msg() 메쏘드 만들기 컴파일러는 inner class의 케이스 안에..
Homework_9
2020. 5. 13. 18:52
📌 java/Object-oriented Programming
Lab 9: Questions and Additional Notes about the four types of inner classes Due Date : May 16, 23 : 59 Total score: 30 Submit your assignment using the following file format: LabNumber_Name_Student_ID.zip >> Example: Lab7_Hongkildong_201620505.zip This zip file will contain two types of files, namely: 1) Report file with file format “Report_Lab number” (eg.report_8) to answer theory questions an..
java - use case diagram, scenario
2020. 5. 9. 16:16
📌 java/Object-oriented Programming
Generalization 일반 사용자가 할 수 있는 일은 운영자도 할 수 있다. 사용자는 로그인할 수 있고 운영자도 로그인 할 수 있다. 여기서 운영자는 로그인을 할 수 있고 권한 설정을 할 수 있다. 하지만 일반사용자는 권한설정을 할 수 없다. include : 동시에 다른 것도 해야한다 include란 포함(호출)한다는 뜻이다. include는 일단 리펙토링 후에 공통으로 사용되는 유즈케이스나 사용자의 요구로 인해 분리시켜야 할 유즈케이스가 있다면 이를 include 로 연결시킨다. 다시말해 하위작업의 관계를 표시할 때 사용한다. 연결은 기반 유즈케이스에서 시작하여 include 할 대상 유즈케이스를 향해 점선 화살표로 표시한다. 만약 고객이 로그인시에 SSO를 원한다면 다음과 같이, include..
ATM_Implementation
2020. 5. 9. 14:39
📌 java/Object-oriented Programming
13.2절은 클래스 다이어그램을 Java 코드로 변환하는 방법을 보여준다. 13.3절은 상속과 다형성으로 설계를 조정한다. 13.4절은 ATM 소프트웨어의 완전한 Java 코드 구현을 제시한다. 가시성 액세스 수정자는 객체의 속성 및 메서드가 다른 객체에 대한 가시성 또는 접근성을 결정한다. 우리가 우리의 디자인을 구현하기 전에, 우리는 우리 수업의 어떤 속성들과 방법들이 공적이어야 하고 어떤 것이 사적인 것이어야 하는지를 고려해야 한다. 속성은 일반적으로 비공개여야 하며 주어진 클래스의 클라이언트에 의해 호출되는 방법은 공개되어야 한다. 일반적으로 클래스의 다른 방법으로만 "유틸리티 방법"이라고 불리는 방법은 비공개여야 한다. }The UML employs visibility markers for mo..
ATM_Design
2020. 5. 9. 14:21
📌 java/Object-oriented Programming
Part 1 요구사항 문서에는 ATM 시스템의 목적과 그 시스템이 무엇을 해야 하는지가 명시되어 있다. 한 국내 은행이 사용자(예: 은행 고객)가 기본적인 금융 거래를 수행할 수 있도록 새로운 현금 자동 입출금기(ATM)를 설치할 예정이다. 각 사용자는 은행에 하나의 계정만 가질 수 있다. ATM 사용자 그들의 계좌 잔액을 조회하다. 현금을 인출하다 자금을 예치하다 ATM 사용자 인터페이스 사용자에게 메시지를 표시하는 화면 사용자로부터 숫자 입력을 받는 키패드 사용자에게 현금을 지급하고 사용자로부터 예금 봉투를 받는 예금 슬롯 현금지급기는 매일 500달러 20센트짜리 지폐를 싣고 시작한다. 은행 고객이 ATM을 통해 시작한 금융 거래를 수행할 수 있는 소프트웨어를 개발하십시오. 컴퓨터의 모니터를 사용하여..
java - UML
2020. 5. 7. 16:57
📌 java/Object-oriented Programming
UML(Unified Modeling Laguage)이란? -> 시스템 개발자가 자신의 비전을 구축하고 반영하는데 있어서 표준적이고 이해하기 쉬운 방법으로 할 수 있도록 도와주며, 자신의 설계 결과물을 다른 사람과 효과적으로 주고받으며 공유할 수 있는 메커니즘을 제공 시스템(System) -> 비즈니스 문제에 대한 솔루션을 제공하는 소프트웨어와 하드웨어가 합쳐진 개념 시스템 개발(System development) -> 고객이 필요로 하는 시스템을 만드는 것 고객(client) -> 솔루션을 필요로 하는 사람 분석가(analyst) -> 고객의 문제를 문서화하여 개발자에게 전달 개발자(developer) -> 문제를 해결할 수 있는 소프트웨어를 만드는 사람 UML의 탄생->그래디 부치, 제임스 럼버, 이..
Homework_8
2020. 5. 7. 15:01
📌 java/Object-oriented Programming
참고 블로그 : www.morm.tistory.com/88 Submit your assignment using the following file format: LabNumber_StudentName_Student_ID.zip Example: Lab8_Hongkildong_201620505.zip This zip file will contain two types of files, namely: 1) Report file with file format “Report_Lab number” (eg. report_8) to answer theory questions 2) Source code file that contains codes of classes to answer programming questions...
Homework_W7 (상속 ≠ 오버라이딩)
2020. 5. 2. 18:59
📌 java/Object-oriented Programming
OOP Lab 7(25 pts) Due date : May 3, 23:59 Submit your assignment using the following file format: LabNumber_StudentName_Student_ID.zip Example: Lab7_Hongkildong_201620505.zip This zip file will contain two types of files, namely: 1) report file with file format “Report_Lab number” (eg. report_7) to answer theory questions and to write the screen shot of your program. 2) Source code file that con..
java - getClass()
2020. 5. 1. 16:35
📌 java/java
java.lang.Object 클래스는 Java에서 만드는 모든 클래스들의 root 이며, 따라서 모든 클래스들은 java.lang.Object를 superclass로 갖고 태어난다. Object 클래스의 구현을 보면 @since JDK1.0로 주석이 달려있다. JDK의 시작부터 함께해왔던 클래스인만큼, Java로 애플리케이션을 만든다면 Object 클래스에 대해서 파악해둘 필요성이 있을 것이다. getClass() 메서드 java.lang의 Object 클래스 중에서 getClass() 메소드에 대해 알아보자. 현재 참조하고 있는 클래스를 확인할 수 있는 메소드이다. A라는 클래스를 참조하고 있다면 class A 라는 값이 출력된다. 객체 타입을 확인하는데 쓰이는 instanceof 와 함께 알아두면 ..
java - Object 클래스
2020. 4. 30. 17:17
📌 java/java
자바에서 상속이란 필수적이다. 여러분이 상속하건 하지 않았건 기본적인 상속을 하게 된다. package org.opentutorials.javatutorials.progenitor; class O {} O라고 하는 클래스를 정의했다. 그리고 다른 클래스를 상속받고 있지 않다. 그러나 위의 코드는 아래와 코드가 같다. package org.opentutorials.javatutorials.progenitor; class O extends Object {} 자바에서 어떤 클래스가 다른 클래스를 상속받고 있지 않는다면 Object를 상속받게 한다. 자바에서 모든 클래스는 사실 Object를 암시적으로 상속받고 있는 것이다. 그런 점에서 Object는 모든 클래스의 조상이라고 할 수 있다. 그 이유는 모든 클래..
java - throw new
2020. 4. 29. 12:45
📌 java/java
} catch(Exception e){ System.out.println("오류가 발생했습니다 : "+e.getMessage()); } e는 변수다. 이 변수 앞의 Exception은 변수의 데이터 타입이 Exception이라는 의미다. Exception은 자바에서 기본적으로 제공하는 클래스로 java.lang에 소속되어 있다. 예외가 발생하면 자바는 마치 메소드를 호출하듯이 catch를 호출하면서 그 인자로 Exception 클래스의 인스턴스를 전달하는 것이다. e.getMessage()는 자바가 전달한 인스턴스의 메소드 중 getMessage를 호출하는 코드인데, getMessage는 오류의 원인을 사람이 이해하기 쉬운 형태로 리턴하도록 약속되어 있다. 지금까지 API의 소비자로서 API 측에서 던지..
java - throw & throws
2020. 4. 28. 17:40
📌 java/java
지금까지 예외를 처리하는 방법으로 try...catch...finally를 배웠다. 이외에 다른 방법도 있다. throw를 사용하는 것이다. throw는 예외처리를 다음 사용자에게 넘기는 것이다. 다음 사용자는 누구일까? 코드를 보자. package org.opentutorials.javatutorials.exception; class B{ void run(){ } } class C{ void run(){ B b = new B(); b.run(); } } public class ThrowExceptionDemo { public static void main(String[] args) { C c = new C(); c.run(); } } ThrowExceptionDemo.main 클래스 ThrowExcep..