티스토리

cho/de
검색하기

블로그 홈

cho/de

choochode.tistory.com/m

2초초2 님의 블로그입니다.

구독자
0
방명록 방문하기

주요 글 목록

  • 대표적인 예외의 종류 RuntimeException 1. ArithmeticException - 산술 연산에서 예외 조건이 발생했을 때 발생 class ArithmeticExceptionPractice { public static void main(String args[]) { try { int a = 10; int b = 0; int c = a / b; } catch (ArithmeticException e) { System.out.println("0으로 나눌 수 없습니다."); } } } 2. ArrayIndexOutOfBoundsException - 잘못된 인덱스로 Array에 액세스했을 때 발생 class ArrayIndexOutOfBoundsPractice { public static void main(String .. 공감수 0 댓글수 0 2023. 4. 2.
  • 예외 예외 vs 에러 예외 연산 오류, 숫자 포맷 오류 등과 같이 상황에 따라 개발자가 해결할 수 있는 오류 에러 자바 머신 자체에서 발생하는 오류로 개발자가 해결할 수 없는 오류 예외 처리 오류가 발생했을 때 차선책을 제시함으로써 오류를 피하는 과정 예외 클래스의 상속 구조 일반 예외 & 실행 예외 일반 예외 : 컴파일 전에 체크 가능 - Exception으로부터 상속 실행 예외 : 예외 처리를 하지 않아도 컴파일은 가능하나, 실행 중 예외가 발생하면 프로그램 종료 - RuntimeException으로부터 상속 예외 처리 try { // 일반 예외, 실행 예외 발생 가능 코드 } catch (예외 클래스명 참조 변수명) { // 예외가 발생했을 때의 처리 } finally { // 예외 발생 여부와 관계없이.. 공감수 0 댓글수 0 2023. 4. 2.
  • 인터페이스 인터페이스의 구조 모든 필드가 public static final로 정의 static default 메서드 이외 모든 메서드는 public abstract로 정의 인터페이스의 상속 implements 키워드 사용 다중 상속이 가능 여러 개의 인터페이스를 사용할 때 ,로 구분해 나열 모든 필드가 public static final로 정의돼 있어 실제 데이터값은 각각의 인터페이스의 내부에 존재해 공간상 겹치지 않음 메서드도 모두 미완성이어서 자식 클래스 내부에서 완성해 사용하므로 문제 x 클래스가 인터페이스를 상속할 때 주의사항 자식 클래스는 반드시 미완성 메서드를 구현해야 함 자식 클래스의 구현 메서드는 반드시 public이어야 함 인터페이스 타입의 객체를 생성하는 방법 인터페이스를 일반 클래스로 상속해 .. 공감수 0 댓글수 0 2023. 4. 2.
  • 상속 상속의 장점 코드의 중복성 제거 다형적 표현 가능 다형성(polymorphism) - 객체를 여러 가지 모양으로 표현할 수 있는 특징 다형적 표현으로 얻을 수 있는 것 : 여러 객체를 배열 하나에 관리할 수 있게 됨 상속의 특징 : 자바 클래스는 다중 상속이 불가능함 생성자의 상속 여부 : 생성자는 자식 클래스로 상속되지 않음 객체의 타입 변환(casting) 자바는 등호를 중심으로 왼쪽과 오른쪽의 자료형이 일치해야 함 자료형이 다르면 컴파일러가 자동으로 타입을 변환해 주거나, 개발자가 직접 명시적으로 타입을 변환해야 함 1) 업 캐스팅 자식 클래스에서 부모 클래스로 변환 - 컴파일러가 자동으로 처리 2) 다운 캐스팅 부모 클래스에서 자식 클래스로 변환 - 개발자가 직접 명시 선언 타입에 따른 차이점 c.. 공감수 0 댓글수 0 2023. 4. 2.
  • 접근지정자 - Abstract abstract - 추상적인 abstract 제어자를 사용했을 때의 장점 상속받은 클래스에서 반드시 오버라이딩을 통해 재정의를 해 주어야 하므로 오류가 생겼을 때 바로 발견할 수 있음 추상 클래스 추상 메서드(abstract 메서드)를 1개 이상 포함하고 있는 클래스 추상 클래스의 특징 미완성 메서드이기 때문에 객체를 직접 만들 수 없음 A a = new A()와 같이 생성자 호출 자체를 할 수가 없음 반드시 상속하여 자식 클래스에서 객체를 생성해야 함 추상 클래스를 상속하는 자신 클래스는 부모에게 상속받은 추상 메서드를 반드시 오버라이딩해야 함 추상 클래스 타입의 객체 생성 방법 추상 클래스를 일반 클래스로 상속하여 객체를 생성 - 객체를 여러 개 만들어야 하는 상황에 사용 익명 이너 클래스 사용 - .. 공감수 0 댓글수 0 2023. 4. 2.
  • 접근지정자 - Final 필드, 지역 변수, 메서드, 클래스 앞에 위치할 수 있음 final 변수 - final 필드, final 지역변수 final 제어자는 변수를 선언할 때만 지정할 수 있음 final 변수는 한 번 대입된 값은 변경할 수 없음 - 한 번 대입된 값이 최종값이 됨 final 메서드 상속할 때 부모의 메서드를 오버라이딩하면 자식의 클래스에서는 메서드의 기능이 변경됨 final로 메서드를 정의하면 자식 클래스에서 해당 메서드를 오버라이딩할 수 없음 final 클래스 최종 클래스의 의미로 더 이상 클래스가 없음 final 클래스는 상속 자체가 아예 불가능함 대표: String 클래스도 final 클래스로 정의되어 있으므로 상속받는 클래스를 생성할 수 없음 공감수 0 댓글수 0 2023. 4. 2.
  • 접근지정자 - static(정적 멤버) 클래스의 멤버(필드, 메서드, 이너 클래스)에 사용하는 제어자 static이 붙어 있는 멤버 = 정적 멤버 정적 멤버의 특징 = 객체의 생성 없이 ‘클래스명.멤버명’으로 바로 사용 가능 인스턴스 필드와 정적 필드 정적 필드는 객체 간 공유 변수의 성질이 있음 정적 멤버는 객체 생성 없이 사용이 가능함 인스턴스 메서드와 정적 메서드 정적 메서드는 객체 생성 없이 사용 가능함 정적 메서드 안에서 사용할 수 있는 필드와 메서드 정적 메서드 내에서는 정적 필드 또는 메서드만 사용할 수 있음 this 키워드를 사용할 수 없음 정적 초기화 블록 : 정적 필드를 초기화하기 위한 문법 static { // 클래스가 메모리에 로딩될 때 실행되는 내용 } : 클래스가 메모리에 로딩될 때 가장 먼저 실행 - 정적 필드의 초.. 공감수 0 댓글수 0 2023. 4. 2.
  • 접근지정자 멤버 및 생성자의 접근 지정자 public, protected, default, private의 접근 지정자 사용 가능 아무것도 사용하지 않으면 default 접근 지정자가 자동 설정 접근 지정자 사용 가능 범위 public 동일 패키지의 모든 클래스 + 다른 패키지의 모든 클래스 protected 동일 패키지의 모든 클래스 + 다른 패키지의 자식 클래스 default 동일 패키지의 모든 클래스 private 동일 클래스 클래스의 접근 지정자 public, default 접근 지정자만 사용 가능 default - 같은 패키지 내에서만 사용 가능 → 다른 패키지에서 임포트가 불가능해 사용할 수 없게 됨 public - 다른 패키지에서도 사용 가능 클래스 접근 지정자와 생성자 접근 지정자의 연관성 자동적으로.. 공감수 0 댓글수 0 2023. 4. 2.
  • 클래스 외부 구성 요소 #3. 외부 클래스 public 클래스 외부에 추가로 정의된 클래스 1개 소스 파일 내에서 public 클래스를 제외한 모든 클래스는 외부 클래스 외부 클래스는 같은 패키지 안에서만 사용이 가능 공감수 0 댓글수 0 2023. 4. 2.
  • 클래스 외부 구성 요소 #2. 임포트 임포트: 다른 패키지 내의 클래스를 사용하기 위한 문법 요소 소스 코드상 패키지 구문 다음 줄에 위치 프로그램이 동작할 때 일반적으로 자신의 패키지 내부에 위치한 클래스만 사용 가능함 임포트 시 주의사항 *기호를 사용하면 패키지 내부의 모든 클래스 임포트 가능 but! 하위 패키지의 클래스는 임포트되지 않음 참고! 이클립스 내 Ctrl + Shift + O 를 사용하면 관련 클래스를 임포트해 줌 import abc.*; public class packageTest { public static void main(String[] args) { Abc abc = new Abc(); } } 공감수 0 댓글수 0 2023. 4. 2.
  • 클래스 외부 구성 요소 #1. 패키지 패키지: 비슷한 목적으로 생성된 클래스 파일들을 한곳에 모아 둔 폴더 패키지 사용의 장점 - 클래스명의 충돌 방지 참고! 동일한 이름의 여러 클래스는 import가 불가능 동일한 이름의 클래스가 여러 패키지에 포함된 경우 패키지이름.클래스 이름 형식으로 사용해야 함 aaa.A.hello(); bbb.A.hello(); 다른 패키지의 클래스 사용 방법1. 클래스의 풀네임(= 패키지명.클래스명) 사용 public class A { // bbb 패키지에 포함되어 있는 A 클래스 bbb.A b = new bbb.A(); } } 다른 패키지의 클래스 사용 방법2. import 구문을 사용 package aaa; import bbb.A; public class C { public static void main(St.. 공감수 0 댓글수 0 2023. 4. 2.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.