230306 굿모닝세션

허크·2023년 3월 6일
0

제네릭

타입을 구체적으로 지정하는 것이 아니라, 추후에 지정할 수 있도록 일반화해두는 것


public class GoodMorning {
	public static void main(String[] args) {
    	Basket<String> basket1 = new Basket<>("apple");
        
        Basket<Integer> basket2 = new Basket<>(1);
    }
}

class Basket<T> {
	pravate T item;
    
    public Basket(T item) {
    	this.item = item;
    }
    
    public T getItem() {
    	return item;
    }
}
  • 위의 T는 타입을 일반화 시켰으므로 타입 매개변수 라고 한다

  • 작성한 클래스 또는 메서드가 특정 데이터 타입에 얽매이지 않게됨



예외 처리



public class GoodMorning {
	public static void main(String[] args) {

		try{
        	// 여기 있는 코드를 시도해보고,
        }
        catch ("예외") { // 예외에 해당하는 예외가 발생하면
        	// 여기 있는 코드를 실행해!
        }
        finally {
        	// 예외가 발생하던 안하던, 여기 있는 코드는 무조건 실행해!
        }
    }
}

  • 사용 예시

public class GoodMorning {
	public static void main(String[] args) {
    
    	Person dk = new Person("duekryeol", 30)
        
        System.out.println("시작!!!")
        
        dk = null;
        
        try {
        	System.out.println("dk.getName() = " +dk.getName());
        }
        
        catch (Exception e) {
        	System.out.println("널에다가 점찍지 마라!");
        }
        System.out.println("종료!!!!");
    }
}

class Person {
	private String name;
    private	int age;
    
    
    public Basket(T item) {
    	this.name = name;
    	this.age = age;        
    }
    
    public T getName() {
    	return name;
    }
}
  • Exception e = Exception 타입의 가장 최상위 예외객체
    • 모든 예외 발생을 가정
  • NullPointerException e =
    • Exception 클래스를 상속받는 하위클래스



컬렉션


public class GoodMorning {
	public static void main(String[] args) {
		// 자료 구조
    }
}
  • 자료 구조 = 데이터가 저장되고 관리되는 구조 (예 : 배열, 스택, 큐)

컬렉션 프레임워크

널리 알려져 있는 자료 구조를 바탕으로 객체들을 효율적으로 추가, 삭제, 검색할 수 있게하는 컬렉션 + 관련된 인터페이스와 클래스

  • 사용 예시
public class GoodMorning {
	public static void main(String[] args) {
		// ArrayList
        
        ArrayList<String> al = new ArrayList<>();
        
        al.add("Hello");
        al.add("Hi");
        al.add("Bye");
        
        for (String el : al) {
        	System.out.println ("el = " + el);
        }
        
        al.remove("Hello");
        
        for (String el : al) {
        	System.out.println ("el = " + el);
        }
        
        System.out.println("al.get(1) = " + al.get(1)));
        
    }
}
  • String 타입을 변수로 가지는 al라는 객체를 생성
    • add 메서드를 통해 특정 요소를 추가가능
    • get 메서드를 통해 특정 요소를 호출가능
profile
codestates seb 44th // 다크모드로 보는걸 추천드립니다

0개의 댓글