본문 바로가기

분류 전체보기336

05.09 예외처리 throws : 예외 떠 넘기기 메소드 선언부 끝에 작성 package test2_throws; public class ThrowsExample { // throws : 예외 던지기. 메소드 호출하는곳에서 try-catch로 예외처리 해줘야 함. public static void main(String[] args) // throws ClassNotFoundException { try { findClass("java.lang.String"); } catch (ClassNotFoundException e) { e.printStackTrace(); } } public static void findClass(String path) throws ClassNotFoundException { // class의 위치 .. 2023. 5. 9.
05.08 제네릭 와일드카드, Object, 예외처리 타입 파라미터에 지정되는 구체적인 타입 제한할 필요 상속 및 구현 관계 이용해 타입 제한 상위 타입은 클래스 뿐만 아니라 인터페이스도 가능 타입 파라미터를 대체할 구체적인 타입 상위타입이거나 하위 또는 구현 클래스만 지정 가능 숫자타입만 제네릭으로 받아야 할때 extends Number할 수 있다.(타입 제한) 와일드 카드 사용 generic 타입 제한 extends : 본인, 하위객체만 가능. super : 하위제한. 본인,부모,object 가능 package generic05_wild_card; // 교육 과정 별 학생을 관리하는 class public class Course { private String title; // 교육 과정 명 private S[] students; // 학생 목록 // 교.. 2023. 5. 8.
generic 4번 풀이만 적어놓음. package generic.exam04; public class RunClass { public static void main(String[] args) { ArrayTest array = new ArrayTest(3); System.out.println(array); array.add("최기근"); array.add("유관순"); array.add("신사임당"); array.add("최기근"); System.out.println(array.size()); System.out.println(array); array.remove("최기근"); System.out.println(array.size()); System.out.println(array); array.remove("최기근.. 2023. 5. 4.
05.04 Wrapper class, 제네릭 package ex_wrapper_class; public class WrapperExample { public static void main(String[] args) { //boxing int a = 10; // java 9 version에서 deprecated로 되어있다. Integer obj1 = new Integer(a); //valueof라는 정적멤버 이용해서 객체 생성하자. obj1 = Integer.valueOf(a); obj1 = Integer.valueOf("100"); //다른 데이터 타입을 문자열로 변환 String str = String.valueOf(201234); //자동 boxing obj1 = 100; //unBoxing int i = obj1.intValue(); Syst.. 2023. 5. 4.
05.03 인터페이스 추상클래스는 인스턴스 멤버 가질 수 있다. 필드 필요시 인터페이스말고 추상클래스 사용,접근제한자 사용가능 인터페이스는 가질 수 없다. 공통적인 규격 정하는 역할만 한다. 접근제한자 public으로 고정, 상수는 사용가능 default 메소드 : 몸통만 있는 메소드 . 필요한 사람만 재정의해서 사용할 수 있게 정의해놓은 것. 인터페이스 객체는 다중구현이 가능하다. 인터페이스 여러개를 구현하고 있어도 재정의 하기 때문에 다중구현이 가능. 기본적인 구성멤버 : 필드는 상수 / 메소드는 추상메소드 인터페이스는 생성자 x , 필드 정의시 무조건 초기화되어있어야함. package a_base; public class AirRemoteControl implements RemoteControl { private int.. 2023. 5. 3.
05.02 상속, 다형성,protected 접근 제한자, 추상메소드 매개변수의 다형성을 이용하면 코드를 간결하게 줄일 수 있다. 그리고 기능을 개선할 때 실행클래스는 변경하지 않고 매개변수 교체만 해주면 된다는 장점이 있다.(부품객체관계...) package extends4_phone_example; // 1세대 일반 폰 public class Phone { public String model; public String color; public Phone() { super(); } public Phone(String model, String color) { this.model = model; this.color = color; } public void powerOn() { System.out.println("전원을 켭니다."); } public void powerOff(.. 2023. 5. 2.