53일차_JAVA

서창민·2023년 5월 25일
0

JAVA

목록 보기
6/21
post-thumbnail

23.05.25 목 53일차

JAVA

  • try ~ catch
Public static void main(String[] args){
	int ans= 0;
    try {
    	int num = 10;
        int div = 0;
        ans = num / div;
    } catch (ArithmeticException ae){
    	ans = 0;
    } catch (Exception e){
    	System.out.println("Invalid calculation");
    }	
    System.out.println("Answer = " + ans);
}

Try ~ catch 문은 예외처리할때 사용한다.
Exception의 범위가 더 큰 범위를 차지하기 때문에

먼저 ArithmeticException(자바 내장 예외클래스)를
실행해주어야 구문 오류를 발생하지 않을 수 있다.

또한 0으로 나누는 것은 PC에서는 실행할 수 없다.
해서 ArithmeticException(연산 예외 처리)가 실행된다.

  • 메소드 불러오기 (정적 필드, 메소드)
System.out.print(Car.maxspeed);
Car.run2();

정적 필드와 정적 메소드에선 해당 클래스의 명을 직접 가지고와서 사용해도 실행이 가능하다.

  • 정적 블록
인스턴스 필드
package ch05;

public class Car {
	// 인스턴스 필드 선언
	String model ;
	int speed ;
    
    // 정적 필드 선언
    static String model2;
	static int speed2;
	static {
    	// 인스턴스 필드
		model = "제네시스";
		speed = 200;
        
        // 정적 필드
        model2="k5";
        speed2 = 100
	}
	// 정적메소드
	static	void setSpeed2(int speed) {
		this.model;
		speed
        speed2 = speed;
		Play();
	}

정적 블록 안에는 인스턴스 필드를 사용할 수 없고 정적 필드 사용이 가능하다.
또 정적 메소드 안에서는 this를 사용할 수 없고, 정적 메소드와 정적 필드만 사용 가능하다.

  • final
fibal 타입필드 [=초기값];

final 키워드는 클래스, 필드, 메소드에서 모두 사용 가능하다.
final 키워드를 사용하면 상속 및 재정의 할 수 없다.

  • 생성자의 접근제한
package package1;

public class A {
	// 필드선언
	A a1 = new A(true);
	A a2 = new A(1);
	A a3 = new A("문자열");
	
	// public 접근 제한 생성자 선언
	public A(boolean b) {
		// TODO Auto-generated constructor stub
	}
	// default(생략) 접근 제한 생성자 선언
	A(int b) {
		// TODO Auto-generated constructor stub
	}
	// private 접근 제한 생성자 선언
	private A(String string) {
		// TODO Auto-generated constructor stub
	}
	
}

Public
: 모든 패키지 생성자를 호출할 수 있다.
: 모든 패키지 객체를 생성할 수 잇다.

default(생략)
: 같은 패기지에서만 생성자를 호출할 수 있다.
: 같은 패키지에만 객체를 생성할 수 잇다.

Private
: 클래스 내부의 생성자를 호출할 수 있다
: 클래스 내부에서만 객체를 생성 할 수 있다.

profile
Back-end Developer Preparation Students

0개의 댓글