Java

· Java
Object Class Object클래스는 모든 클래스의 최고 조상이기 때문에 Object클래스의 멤버들은 모든 클래스에서 바로 사용 가능하다. Object 클래스는 멤버변수는 없고 오직 11개의 메서드만 가지고 있다. equals(Object obj) 매개변수로 객체의 참조변수를 받아서 비교하여 그 결과를 boolean값으로 알려주는 역활을 한다. 서로 다른 두 객체는 equals메서드로 비교하면 항상 false를 결과로 얻게 된다. equals 메서드는 주소값으로 비교를 하기 때문에, 변수의 value가 같을지라도 변수의 주소값이 다르다면 false를 반환한다. Class Value { int value; public Value(int value) { this.value = value; } } Val..
· Java
원인 예외(cause exception) 한 예외가 다른 예외를 발생시킬 수 있다. 예를 들어 예외A가 예외B를 발생시켰다면, A를 B의 '원인 예외(cause exception)'라고 한다. try { startInstall(); copyFiles(); } catch (SpaceException e) { InstallException ie = new InstallException("설치중 예외발생"); // 예외 생성 ie.initCause(e); // InstallException의 원인 예외를 SpaceException으로 지정 throw ie; // InstallException을 발생시킨다. } catch (MemoryException me) { ... } Throwable initCause(T..
· Java
예외 되던지기 한 메서드에서 발생할 수 있는 예외가 여럿인 경우, 몇 개는 try-catch문을 통해서 메서드 내에서 자체적으로 처리하고, 그 나머지는 선언부에 지정하여 호출한 메서드에서 처리하도록 함으로써, 양쪽에서 나눠서 처리되도록 할 수있다. 이것은 예외를 처리한 후에 인위적으로 다시 발생시키는 방법을 통해서 가능하다. 예외가 발생할 가능성이 있는 메서드에서 try-catch문을 사용해서 예외를 처리해주고 catch문에서 필요한 작업을 행한 후에 throw문을 사용해서 예외를 다시 발생시킨다. 다시 발생한 예외는 이 메서드를 호출한 메서드에게 전달되고 호출한 메서드의 try-catch문에서 예외를 또 다시 처리한다. static void method1() throws Exception { try {..
· Java
사용자 정의 예외(Exception) 만들기 기존의 정의된 예외 클래스 외에 필요에 따라 프로그래머가 새로운 예외 클래스를 정의하여 사용할 수 있다. 보통 Exception 클래스로부터 상속받는 클래스를 만들지만, 필요에 따라 알맞은 예외 클래스를 선택할 수 있다. class MyException extends Exception { private final int ERR_CODE; MyException(String msg, int errCode) { // 오류 메시지와 오류 코드를 매개변수로 받는 생성자 super(msg); // 조상인 Exception 클래스의 생성자를 호출 this.ERR_CODE = errCode; } MyException(String msg) { this(msg, 100); } ..
· Java
예외 발생시키기 키워드 throw를 사용해서 프로그래머가 고의로 예외를 발생시킬 수 있다. try { // Exception e = new Exception("예외를 발생시킴"); // throw e; throw new Exception("예외를 발생시킴"); // 메시지 지정 } catch (Exception e) { e.printStackTrace(); } 만일 예외처리가 되어있어야 할 곳에 처리가 되어있지 않으면 컴파일 조차 실행되지 않을 수 있다. RuntimeException 같은 경우는 예외 처리를 하지 않아도 컴파일이 가능하다. throw new Exception(); // 컴파일 에러 발생 throw new RuntimeException(); // 컴파일 에러가 발생하지 않음 예외 처리하기..
· Java
메서드(Method)에 예외(Exception) 선언하기 메서드 선언부에 키워드 throws를 사용해서 메서드 내에서 발생할 수 있는 예외를 선언할 수 있다. 예외가 여러개일 경우 쉼표(,)로 구분한다. 이런 경우 예외가 처리된것이 아니고 단순히 전달만 하는 것이다. void method() throws Exception1, Exception2 { ... } 이렇게 예외를 선언하면 자손타입의 예외까지도 발생할 수 있다는 점을 주의해야 한다. 그렇게 때문에 try-catch문을 사용해 중간에 예외 처리가 되어야 한다. 오버라이딩할 때는 단순히 선언된 예외의 개수가 아니라 상속관계까지 고려해야 한다. // try-catch문을 사용하지 않았을때 public static void method1() throws..
· Apache Kafka
[Kafka] Local에서 Kafka 명령어 날리기 [Kafka] EC2 생성 후 접속, Kafka 설치 및 설정 AWS EC2 생성 후 Inbound rule 추가 1. AWS Console 로그인 후 EC2에 접속 2. EC2 인스턴스 생성 3. 키 페어 생성 4. Inbound rule 추가 Inbound rule은 필요한대로.. devbksheen.tistory.com 앞서 Local에서 여러가지 Kafka 명령어를 날려보았다. 이제는 Spring Boot에 연동해 실제 프로젝트에 적용해보자 Spring Boot에 Kafka를 연동 Java(11) Amazon Corretto JDK(11) Spring Boot(2.5.5) 1. Kafka 의존성 추가 dependencies { ... // re..
· Apache Kafka
AWS EC2 생성 후 Inbound rule 추가 1. AWS Console 로그인 후 EC2에 접속 2. EC2 인스턴스 생성 3. 키 페어 생성 4. Inbound rule 추가 Inbound rule은 필요한대로 설정하면 되겠다. EC2 접속 후 Kafka 설치 및 설정 1. 키 페어 권한 변경 위에서 생성한 키 페어를 보관하는 곳으로 이동해 키 페어 파일를 사용할 권한을 변경한다. # 400 → 나만 읽을 수 있음(private) chmod 400 devbeekei-kafka.pem 2. EC2 접속 # 키 페어를 사용하여 EC2 접속 ssh -i devbeekei-kafka.pem ec2-user@3.34.97.97 3. Java 설치 Amazon에 JDK 11버전을 사용했다. # Java 설..
· Java
예외처리란? 정의 프로그램 실행 시 발생할 수 있는 예기치 못한 예외의 발생에 대한 코드를 작성하는 것 목적 예외처리의 목적은 예외 발생으로 인한 실행중이 프로그램의 갑작스런 비정상 종료를 막고, 정상적인 실행상태를 유지할 수 있도록 하는 것 프로그램 오류 컴파일 에러 컴파일 시 소스코드에 대한 오타나 잘못된 구문, 자료형 체크 등의 기본적인 문법 오류가 있을때 발생 런타임 에러 실행 시에 발생하는 에러 논리적 에러 실행은 되지만, 의도와 다르게 동작하는 것 자바에서는 실행 시 발생할 수 있는 프로그램 오류를 에러(error)와 예외(exception) 두 가지로 구분하였다. 에러(error) 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 예외(exception) 프로그램 코드에 의해서 수습될 수 ..
· Java
내부 클래스란? 내부 클래스는 클래스 내에 선언된 클래스이다. 내부 클래스로 선언하면 두 클래스의 멤버든 간의 서로 쉽게 접근할 수 있다는 장점과 외부에는 불필요한 클래스를 감춤으로써 코드의 복잡성을 낮출 수 있다는 장점(캡슐화)이 있다. 내부 클래스는 외부 클래스를 제외하고는 다른 클래스에서 사용되지 않는 것이어야 한다. class A { ... class B { ... } } 내부 클래스의 종류와 특징 내부 클래스의 종류는 선언위치에 따른 변수의 종류와 같다. 내부 클래스의 선언 class Outer { class InstanceInner {} // 인스턴스 내부 클래스 static class StaticInner {} // 스태틱 내부 클래스 void method() { class LocalInne..
beekei
'Java' 태그의 글 목록 (4 Page)