본문 바로가기

콩's EDUCATION/콩's JAVA_RUN

finally 처리 finally는 항상 출력 public class ExceptionTest { public static void main(String[] args) { try{ int i = Integer.parseInt(args[0]); int j = Integer.parseInt(args[1]); System.out.println(i/j); }catch (Exception e) { System.out.println("항상동일하게 처리합니다"); return; // 메소드 중단, 없으면 "완료" 표시된다. //system.exit(0) // 클래스 수행종료. finally 내부 선언되지 않는다. }finally{ System.out.println("항상 출력됩니다."); } System.out.println(""); .. 더보기
예외(Exception) 처리 기본 예외처리 기본 예제 public class ExceptionTest { public static void main(String[] args) { try{ int i = Integer.parseInt(args[0]); int j = Integer.parseInt(args[1]); System.out.println(i/j); } catch (ArithmeticException e) { e.printStackTrace(); System.out.println("0을 입력하지 마시오"); } System.out.println("완료"); } } java.lang.ArithmeticException: / by zero at ExceptionTest.main(ExceptionTest.java:6) 0을 입력하지 마시.. 더보기
Java 문제 4 다음과 같은 설명을 읽고 Duck과 Sparrow 클래스를 작성하십시오. PlayBird 클래스를 작성하세요.(main메소드) Bird 클래스를 정의하여 Duck 과 Sparrow 클래스를 하위클래스로 정의합니다. 이 경우 두 클래스의 공통 변수와 공통적으로 구현할 메서드가 있으면 Bird 클래스에 정의하고 Duck과 Sparrow 클래스마다 서로 다르게 구현할 메서드는 각각의 클래스에 정의하십시오. 오리(Duck) 클래스와 참새(Sparrow) 클래스는 이름을 나타내는 name과 다리의 수를 나타내는 legs, 몸길이를 나타내는 length 데이터를 가지고 있다. 메소드로는 날다 fly, 울다 sing, 이름기록하기 setName, 이름출력하기 print 를 가지고 있다. 오리(Duck) 클래스는 we.. 더보기
인터페이스(interface) 인터페이스 InterfaceTest class GraduateClass implements StudentInter, WorkerInter{ @Override public void work() { System.out.println("조교가 일하다. "); } @Override public void study() { System.out.println("조교가 공부하다. "); } @Override public void eatLunch() { System.out.println("조교가 점심을 먹다. "); } } public class InterfaceTest { public static void main(String[] args) { GraduateClass stu = new GraduateClass(); .. 더보기
추상(abstarct) 메소드 추상 메소드 구현 // 추상메소드가 사용된 클래스는 반드시 abstract 써야 한다. abstract class Shape{ public abstract void area(); public abstract void circum(); } class Circle extends Shape{ int r; final double pi = 3.14; // 생성자 초기화 해야한다. public Circle(int r) { this.r = r; } // abstract 사용한 메소드(area, circum)는 반드시 overriding을 해줘야 한다. @Override public void area() { System.out.println("반지름이 "+r+" 인 원의 면적="+(r*r*pi)); } @Overrid.. 더보기
명시적 형변환 명시적 형변환 class Parent{ int su = 10; void pr(){ System.out.println(su); } void mp(){ System.out.println("Parent"); } } class Child1 extends Parent{ int su = 20; void pr(){ System.out.println(su); } void mc(){ System.out.println("Child1"); } } public class CastingTest { public static void main(String[] args) { Parent p1 = new Parent(); System.out.println(p1.su); p1.pr(); p1.mp(); // Child1 c1 = (Ch.. 더보기
형변환(Casting) 객체 생성 형변환 객체 생성, 자동형변환 class Parent{ int su = 10; void pr(){ System.out.println(su); } void mp(){ System.out.println("Parent"); } } class Child1 extends Parent{ int su = 20; void pr(){ System.out.println(su); } void mc(){ System.out.println("Child1"); } } public class CastingTest { public static void main(String[] args) { Parent p1 = new Parent(); System.out.println(p1.su); p1.pr(); p1.mp(); // p1.mc(.. 더보기
Java 문제 3 Employee, Engineer, Manager 이용하여 총합계 및 내용 출력 *상속과 오버라이딩을 반드시 이용한다. SalaryTest class SalaryTest{ public static void main(String args[]){ Employee em = new Employee(1000,"이사원",10000,5000); Manager ma = new Manager(2000,"김간부",20000,10000,10000); Engineer en = new Engineer(3000,"박기술",15000,7500,5000,5000); /* 배열 내의 각 객체의 ------------------3개의 객체 사번, 이름, 총급여(급여계산하다() 호출해서) 출력 */ System.out.println(em.. 더보기
private 생성자 A클래스 자기만 참조하기 (재귀와는 다른 의미) package test.edu1; public class A { A a; private A(String name){ System.out.println(name+"에 의해 A객체를 생성합니다"); } public A getInstance(){ if(a==null) a= new A("A클래스"); return a; } } // A a1 = new A ("b") 더보기
super 클래스 Super 클래스 class Super{ int i1; Super(){ System.out.println("Super 생성자 호출"); i1 = 10* 10; } } class Sub extends Super{ int i2; Sub(){ // super() 자동 호출 고로, 생성자 호출 print System.out.println("Sub 생성자 호출"); i2 = 10 * 10 * 10; } } public class SuperTest { public static void main(String[] args){ Sub s = new Sub(); System.out.println(s.i1); System.out.println(s.i2); } } Super 생성자 호출 Sub 생성자 호출 100 1000 더보기