Back-End - Main Menu/Java 212

Ex09_05 - toString()의 오버라이딩

package com.kook.ch09Project; //국.변 public class Ex09_05 { //클래스 객체의 멤버변수 값을 파악할시에는 toString()으로 재정의 public static void main(String[] args) { Card2 c1 = new Card2(); //인자없이 생성자 호출 Card2 c2 = new Card2("DIAMOND", 25); //2개의 인자로 생성자 호출 //Card2의 재정의한 toString()을 사용 System.out.println(c1.toString()); System.out.println(c2.toString()); //print문안에 출력하는 객체를 넣으면 자동으로 toString()이 붙어서 출력됨 System.out.print..

Ex09_04 - Object의 클래스 메서드 - toString()

package com.kook.ch09Project; //국.변 public class Ex09_04 { public static void main(String[] args) { Card c1 = new Card(); //c1,c2 서로 주소값이 다름 Card c2 = new Card(); System.out.println(c1.toString()); System.out.println(c2.toString()); //print문 안에 출력하는 객체를 넣으면 자동으로 toString()이 붙어서 출력됨 System.out.println(c1); System.out.println(c2); } } class Card { //상속하는 것이 안적혀 있으므로 Object의 11개 메서드를 상속 String kind..

Ex09_03 - Object의 클래스 메서드 - hashCode()

package com.kook.ch09Project; public class Ex09_03 { public static void main(String[] args) { String str1 = new String("abc"); String str2 = new String("abc"); //str1, str2는 주소가 다름 //String클래스는 이미 equals는 값을 비교하도록 재정의 해둠 //hashCode메서드는 값이 같으면 동일한 주소값 반환 System.out.println(str1.equals(str2)); System.out.println(str1.hashCode()); //정수로 된 주소 System.out.println(str2.hashCode()); //identityHashCode()..

Ex09_02 - equals()의 오버라이딩

package com.kook.ch09Project; //국.변 public class Ex09_02 { public static void main(String[] args) { Person p1 = new Person(8011081111222L); //long형이라 숫자뒤 L(롱형이라는뜻)을 붙여줌 Person p2 = new Person(8011081111222L); //참조변수값(주소값)은 다름, 저장된 값은 동일함 //equals()메서드는 Person클래스에서 Object의 것을 재정의한 메서드 if(p1.equals(p1)) { System.out.println("p1과 p2는 같은 사람이다."); } else { System.out.println("p1과 p2는 다른 사람이다."); } p1..

Ex09_01 - Objcet클래스의 메서드 - equals()

package com.kook.ch09Project; //국.변 public class Ex09_01 { public static void main(String[] args) { Value v1 = new Value(10); Value v2 = new Value(10); //v1과 v2는 주소가 다름(저장된 인스턴스값은 10으로 동일함) //equals메서드는 Object의 메서드이므로 주소를 비교한다. if(v1.equals(v2)) { System.out.println("v1과 v2는 같다"); } else { System.out.println("v1과 v2는 다르다"); } } } class Value { //상속한 것이 없으므로 extends Object가 생략된 상태 int value; //생성..

Ex08_13 - 연결된 예외

package com.kook.ch08Projcet; //국.변 public class Ex08_13 { public static void main(String[] args) { try { install(); } catch (InstallException e) { //원인예외 SpaceException2가 등록된 InstallException예외 처리 //e.printStackTrace(); System.out.println(e.getMessage()); } catch (Exception e) { //아닌것들은 죄다 Exception 최상위로 넘어옴 e.printStackTrace(); } } static void install() throws InstallException { //InstallExcep..

Ex08_11 - 사용자 정의 예외 만들기

package com.kook.ch08Projcet; //국.변 public class Ex08_11 { public static void main(String[] args) { try { startInstall(); copyFiles(); } catch (SpaceException se) { //개발자가 만든 SpaceException 사용 System.out.println("에러 메시지 : " + se.getMessage()); } catch (MemoryException me) { //개발자가 만든 MemoryException 사용 System.out.println("에러 메시지 : " + me.getMessage()); } finally { //예외가 있던 없던 무조건 처리 deleteTempFi..

Ex08_12 - 예외 되던지기

package com.kook.ch08Projcet; public class Ex08_12 { public static void main(String[] args) { try { method1(); } catch (Exception e) { System.out.println("main메서드에서 예외가 처리됨"); } } static void method1() throws Exception { //일부는 자신이 try~catch로 처리하고 일부는 throws로 처리 try { throw new Exception(); //예외 발생 } catch (Exception e) { System.out.println("method1메서드에서 예외가 처리됨"); throw e; //발생한 예외를 이용하여 다시 예외 발..