Java
![[JAVA] Exception 처리에 대한 고찰 - 코드 구성](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNhe1R%2FbtrKmMjLjg2%2FSahfmUDWYg0uykJWe1JkKk%2Fimg.png)
[JAVA] Exception 처리에 대한 고찰 - 코드 구성
프로젝트를 진행하면 할 수록 협업에서 Exception처리가 많이 중요하다는 것을 느꼈다. (특히, 프론트엔드와의 협업) 프로그램은 클라이언트의 요구사항에 맞게 실행되는 것도 중요하지만, 대부분의 사용자는 작동보다는 오류에 대해서 민감하게 반응한다. 따라서, 프로그램은 오류처리에 대한 것이 확실해야한다. 내가 Exception을 처리하는 방식을 깃허브를 통해서 여러 사례를 찾아보고 다음과 같이 처리 하였다. 첫번째, 런타임을 상속하는 추상클래스를 만들었다. public abstract class ApplicationException extends RuntimeException{ private final String errorCode; private final HttpStatus httpStatus; pr..
[JAVA] 다형성(polymorphism)
다형성 여러 가지 형태를 가질 수 있는 능력, 조상클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있도록 한다. CaptionTv c = new CaptionTv(); Tv t = new CatptionTv(); 참조변수 t로는 CaptionTv인스턴스의 모든 멤버를 사용할 수 없다. Tv타입의 참조변수로는 CaptionTv인스턴스 중에서 Tv클래스의 멤버들만 사용할 수 있다. 조상타입의 참조변수로 자손타입의 인스턴스를 참조할 수 있다. 반대로 자손타입의 참조변수로 조상타입의 인스턴스를 참조할 수는 없다. 참조변수의 형변환 기본형 변수와 같이 참조변수도 형변환이 가능하다. 단, 서로 상속관계에 있는 클래스 사이에서만 가능하기 때문에 자손타입의 참조변수를 조상타입의 참조변수로, 조상타입의 참조변..
[JAVA] 제어자(modifier)
제어자 제어자는 클래스, 변수 또는 메서드의 선언부에 함께 사용되어 부가적인 의미를 부여한다. 접근 제어자 public, protected, default, private 그 외 static, final, native, transient, synchronized, volatile, strictfp static - 클래스의, 공통적인 인스턴스변수는 하나의 클래스로부터 생성되었더라도 각기 다른 값을 유지하지만, 클래스변수(static멤버변수)는 인스턴스에 관계없이 같은 값을 갖는다. 하나의 변수를 모든 인스턴스가 공유하기 때문이다. static이 사용될 수 있는 곳 - 멤버변수, 메서드, 초기화 블럭 static 멤버변수 모든 인스턴스에 공통적으로 사용되는 클래스변수가 된다. 클래스변수는 인스턴스를 생성하지..
[JAVA] 오버라이딩(overriding)
오버라이딩 조상 클래스로부터 상속받은 메서드의 내용을 변경하는 것 오버라이딩 조건 자손 클래스에서 오버라이딩하는 메서드는 조상 클래스의 메서드와 이름이 같아야 한다. 매개변수가 같아야 한다. 반환타입이 같아야 한다. → 선언부가 서로 일치해야 한다. 접근 제어자는 조상 클래스의 메서드보다 좁은 범위로 변경 할 수 없다.접근 제어자의 넓은 것에서 좁은 것으로 나열 : public → protected → (default) → private 조상 클래스의 메서드보다 많은 수의 예외를 선언할 수 없다. 인스턴스메서드를 static메서드로 또는 그 반대로 변경할 수 없다. 오버로딩과 오버라이딩 오버로딩 : 기존에 없는 새로운 메서드를 추가 오버라이딩 : 조상으로부터 상속받은 메서드의 내용을 변경하는 것이다. s..
[JAVA] 상속(inheritance)
상속의 정의와 장점 상속 : 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것 장점 : 양적으로 적은 양을 통해 코드로 새로운 클래스를 작성할 수 있으며 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 매우 유용하다. class child extends parent{ ... } 조상 클래스 : 부모(parent)클래스, 상위(super)클래스, 기반(base)클래스 자손 클래스 : 자식(child)클래스, 하위(sub)클래스, 파생된(derived)클래스 상속의 키워드가 extend인 이유 생성자와 초기화 블럭은 상속되지 않는다. 멤버만 상속된다. 자손 클래스의 멤버 개수는 조상 클래스보다 항상 같거나 많다. package object_oriented_programming2; cla..