728x90
반응형
728x90
반응형
Catch - try 오류가 예상되는 코드에 catch블럭으로 감싸놓고, 예외가 발생되면 try블럭으로 이동시켜 try블럭안의 코드를 실행하게 하는 예외처리 방법이다. 모든 예외클래스를 자바 개발자들이 예상하지 못하기 때문에, 직접 예외처리 클래스를 생성할 수 있다. 주로 예외처리의 모든 조상인 'Exception'을 extends로 상속받지만 Exception을 상속받는 경우에는 오류 발생을 기정 사실화 시켜 try - catch로 처리를 해야한다. 그래서 가능한 경우 선택적 예외처리인 RunTimeError를 선언하여 catch - try구문을 생략하고 코드를 간결화 한다. public void uncheckedError() { try { throw new Exception(); //Exception..
Stack push & pop, 저장, 추출의 관계이고 LIFO(Last in First Out, 마지막으로 저장한 것이 제일 먼저 추출) 형식이다. 순차적으로 저장하고 마지막으로 저장된 객체를 불러오기 때문에 배열[]을 쓰는 것이 제일 적합하다. Stack의 메서드 종류 데이터를 추출할 때(pop) 맨위의 값을 지우는데 지우지 않고 값만 보기위해서는 peek를 사용해야 한다. *메서드에 다른 list 클래스와 동일하게 remove(index)도 존재 *push대신 add도 사용가능 Queue offer & poll, 저장, 추출의 관계이고 FIFO(FIst in First Out, 첫번째로 저장한 것이 제일 먼저 추출) 형식이다. 먼저 저장한 것이 먼저 추출되기 때문에 데이터의 복사를 해야하는 Arra..
인터페이스 특징: abstract의 클래스는 interface로 변경이 가능하다 interface는 다수의 상속이 가능하다 interface는 interface끼리의 상속이 가능하다. 이 때 interface끼리의 상속은 extends를 사용한다. interface로 바꾸는 경우는 다형성 + extends대신 implements를 사용하여 상속한다. interface로 선언을 해주는 경우는 기능에 대한 팀원과의 분업 혹은 회사간의 분업으로 인한 특정 기능이 공유되어야 할 때 사용된다. 인터페이스를 상속받은 클래스는 반드시 그 메서드를 구현해야 한다. 인터페이스를 통한 기능의 구현 후 main 메서드 안에서 실행하는 예제 회사 내의 1)회사원의 이름과 사원번호를 받아서 저장해주는 메서드와 2)저장받은 메서..
추상화 클래스 abstract로 클래스와 메서드를 정의하여 다른 클래스에서 상속받은 후 기능만 구현할 수 있게 만드는 것이다. 예시: UI를 구현하는 회사와 기능을 구현하는 회사가 있다고 하면 UI가 기능을 구현하는 회사한테 외주를 주어 어떤 기능을 하는 메서드를 만들어달라고 요청한다. 이 기능을 받을 때 어떤 이름으로 기능을 구현할건지 미리 약조를 하여 나중에 데이터를 결합할 때 쓸데없는 시간이 소요되지 않도록 한다. = 분업화 총 3개의 클래스로 예시를 만들었다. 1. 개인정보파일의 class를 만들어 메서드의 이름과 구현할려는 기능의 목적을 설명한다. package exam11; //UI를 구현하는 회사와 기능을 구현하는 회사가 있다고 하면 //UI가 기능을 구현하는 회사한테 외주를 주어 어떤 기능..
Collection Framework 정의: Collection: 여러 객체(데이터)를 모아 놓은 것을 의미 Framework: 표준화, 정형화된 체계적인 프로그래밍 방식 개인의 코딩 방식이 아닌 기준을 정한 코딩으로 다른 사람이 이해하고 수정하기 편하게 하기 위한 정형화 대표적인 예시로 Spring Framework가 있음 Collection Framework: 컬렉션(다수의 객체)을 다루기 위한 표준화된 프로그래밍 방식 컬렉션(다수의 데이터)을 다룰 수 있는 다양한 클래스를 제공 핵심 인터페이스(interface) 메서드: 데이터를 정리하기 위한 핵심 인터페이스: List, Set, Map List: 순서가 있는 데이터의 집합이고 중복을 허용한다 대표적인 예로 식당의 웨이팅 리스트, 누가 먼저 왔는지..
DecimalFormat 숫자를 형식화할 때 사용한다. 형식화한 후에는 int값이 아니라 String값으로 변환됨. 0, #, E를 적절히 사용하여 출력하고 싶은 format을 지정해서 출력하자 출력문: 1.22000 | 1.22 double i = 1.22; DecimalFormat df = new DecimalFormat("0.00000"); DecimalFormat df2 = new DecimalFormat("#.####"); //DecimalFormat df2 = new DecimalFormat("#.##00"); // 오류발생 //뒤에 소수점 붙일 때는 아예 0만쓰던지 #만 써야함 System.out.println(df.format(i)); //0일 경우 10진수가 존재할 경우 그 값을 출력하고..
Calendar 클래스 추상클래스이므로 getInstance 메서드를 통해 구현된 객체를 얻어야 한다. 새롭게 new를 사욯해서 Calendar 자료형을 선언하는 것은 불가능 Calendar를 사용해서 날짜필드 가져오기 아래 형식으로 가져온다. 출력값: 28 2022 Calendar ca = Calendar.getInstance(); //캘린더 추상클래스를 선언하면 시스템의 최신 시간을 가져온다 int year = ca.get(Calendar.YEAR); //현재 시스템 시간 상의 최신 년도 int lastday = ca.getActualMaximum(Calendar.DATE); //이달의 마지막 날 System.out.println(lastday); System.out.println(year); Cal..
메서드 오버라이딩 다형성을 통해 조상의 자료형으로 자식의 클래스를 호출하면 일반적으로 조상의 멤버변수와 메서드만 호출할 수 있다. 하지만 상속의 조건하에서 오버라이딩된 자식의 메서드는 동일한 이름으로 되어있기 때문에 호출 가능하다. public class Overriding { public static void main(String[] args) { Speaker speaker = new Speaker(); Speaker speaker2 = new BaseEnSpeaker(); speaker2.setVolumeRate(7); System.out.println(speaker2.getVolumRate()); speaker2.showCurrentState(); //출력문: //7 //베이스 크기: 0 //자료..