Java

Java 개발 공부 12~13일차 (21.09.01~02)

Pearl_mini 2021. 9. 2. 21:31
728x90

String str = String.format("%.3f", d1);   System.out.println(str);

자릿수 지정하여 출력 가능한 형태.

<인터페이스 - 디폴트 메소드>

인터페이스를 수정해서 메소드를 추가해야할 때, 디폴트 메소드로 작성을 해야 그 인터페이스를 구현하는 클래스에서 컴파일 에러+메소드 재정의가 필요하지 않다.

 

내부 로컬 클래스에서 사용된 매개변수와 로컬변수는 모두 final 특성을 갖는다!

Inner class에서 외부 클래스의 변수를 사용하려면 상수(final)로 선언되어야 한다. 

 

UI 이벤츠 처리 등에 익명객체, 중첩 클래스 등이 사용된다.

 

<예외처리>

1) 에러 (Error)

2) 예외 (Exception)

 

args에 입력을 시작하려면 Run Configuration으로 들어가서 arguments창에 띄어쓰기 기준으로 입력해주면 된다.

 

21.09.02 

BFS, DFS, Backtracking 등도 재귀함수와 유사한 알고리즘.

 

* Integer. parseInt(data) ,

  : Integer class에 int타입으로 반환 가능한 문자열을 정수타입으로 바꾸어주는 메서드.

 int wrapper class (java에서 기본 제공되는 클래스들 Integer, Character, Float, Double 등)

 

 Thread.sleep(1000); -> 프로그램을 1초동안 쉬게 만든다.

 

<예외와 예외 클래스>

 

- 예외는 2가지, 

1) 일반 예외 (Exception) : 컴파일러 체크 예외 , 예외처리코드가 없다면 컴파일 오류가 발생됨.

2) 실행 예외 (Runtime Exception) : 컴파일과정에서 예외처리코드를 검사하비 않는 예외이다.

- Exception 이 가장 상위 예외 클래스 이다.

- ArrayIndexOutOfBoundsException : 배열의 인덱스가 배열을 넘어가거나, 내용이 없는 배열을 호출할 때 발생

- NumberFormatException: 숫자로 변환이 안되는 값을 변환시키려고 할 때 발생

- ClassCastException: 억지로 클래스 타입변환을 하려고 할 때 발생

 

java의 예외처리 문법 

Try { ~ }  Catch { ~ }

Try 구문 전체 내에서 Exception이 발생하면 Catch 절로 실행흐름이 점프한다.

해당하는 Exception절로 가서 실행된다.

 

java.lang.object 가 자바에서 최상위 부모 클래스이다.

catch 순서는 상위 예외 클래스가 하위 예외 클래스보다 아래쪽에 위치해야 한다.

 

프로그램 종료도 2종류가 있다. 1)정상 종료, 2) 비정상 종료.

 

예외정보얻기

(e는 exception의 변수명)

- e.getMessage();

e.printStackTrace(); 는 예외 관련 설명을 출력해주는 메서드.

throws 뒤 예외를 발생시킨다. (직접 예외를 만들어서 발생시키는 것 까지는 자주 사용은 안함)

 

java를 이용하여 GUI 프로그래밍하는 스킬들: java FX, 예전방식인 AWT

 

AWT (Abstract Window Toolkit) : 자바의 초기 화면을 구현하는 API

AWT의 구성요소

- Component : Box, Checkbox, Label 등과 같이 화면에서 사용자에게 기능을 제공한다.

- Container : 화면 전체의 틀을 제공

- LayoutManager : Container에서 Component들의 크기와 위치를 지정한다.

  >BorderLayout : 아무 설정을 안한 상태 (디폴트)

     Frame의 기본 배치 관리자. 화면을 5개 영역으로 구분, 컴포넌트들의 크기는 변경되지만 위치는 변하지않음

  >FlowLayout : Panel의 기본 배치 관리자, 수평으로 컴포넌트를 나열한다. 크기는 변하지 않으나 위치는 변함

  > GridLayout : 테이블 형태의 배치 관리자. 행,열로 관리. ( pack() : Frame의 크기를 컴포넌트 크기에 맞게 조정

       행 위주로 만든다. 

  >Panel : 디폴트는 flow 레이아웃



front-end : 유저와 직접 맞닿아있는 부분 (화면에 보이는 부분들) , html, CSS, javascript, vue.js 주로 개발

back-end : 눈에 보이지 않지만 데이터를 받아 연산하거나 정보 저장 전달 하는 쪽 개발 java, spring, node,js 사용

awt, javaFX 쓰는 곳은 거의 없다. 



728x90