[Java] 숫자를 0으로 나눌 때의 자료형별 동작과 예외 발생 케이스
·
Java
Java에서는 숫자를 0으로 나눌 때 자료형에 따라 동작 방식이 다르다. 정수형(int, long)은 0으로 나누면 예외를 발생시키는 반면, 실수형(float, double)은 Infinity 또는 NaN(Not a Number)을 반환한다. 특히 실수일 때 JSON 직렬화 과정에서 String으로 변환되거나, 다른 연산에 영향을 미쳐 예상치 못한 버그가 생길 수 있으므로, 주의해야 한다. 정수를 0으로 나눌 때: ArithmeticExceptionint, long과 같은 정수형 데이터를 0으로 나누려고 하면, 자바는 이를 런타임 에러로 간주한다. 이때 java.lang.ArithmeticException이 발생하며 프로그램 실행이 중단된다.int a = 10;int b = 0;try { int r..
[Java] Java16 에 추가된 Pattern Matching for instanceof
·
Java
Java16 에 추가된 Pattern Matching for instanceof 대한 공식문서 내용을 정리한 글이다.자바 16 이상을 사용할 경우 인텔레제이에서 pattern variable 을 자동으로 변환해주는데, 여기서 사용되는 문법이 Pattern Matching for instance of 다. equals 나, instanceof 로 변환이 필요한 예외클래스 처리에서 유용하게 사용할 수 있다. 기존 instanceof + 캐스팅 방식Java에서는 instanceof와 타입 변환(casting)을 함께 사용해 객체의 타입을 검사하고, 필요한 데이터를 추출해왔다.if (shape instanceof Rectangle) { Rectangle r = (Rectangle) shape; ....
자바의 정석 OOP(1)
·
Java
자바의 정석 객체지향(1) 부분을 읽고, 압축 정리한 글이다.객체지향 언어객체지향 언어의 주요 특징 3가지코드의 재사용성이 높다. : 새로운 코드를 작성할 때 기존의 코드를 이용해 쉽게 작성이 가능하다.코드의 관리가 용이하다. : 코드 간 관계를 이용해 적은 노력으로 쉽게 코드를 변경할 수 있다.신뢰성이 높은 프로그래밍을 가능하게 한다. : 제어자와 메서드를 이용해 데이터를 보호하고, 올바른 값을 유지하도록 하며 코드의 중복을 제거해 코드의 불일치로 인한 오동작을 방지한다.객체지향 개념은 아래 3가지를 생각하며 학습한다.재사용성유지보수중복 코드의 제거객체지향 개념을 이해했다 하더라도 객체지향적 장점들을 충분히 활용한 프로그램을 작성하기는 쉽지 않다.너무 객체지향 개념에 얽매여 고민하기보다는 프로그램을 기..