본문 바로가기

분류 전체보기141

hashCode(),toStirng() hashCode() 객체의 주소값으로 해스코드를 만들어 반환 합니다(내용x) equals메서드 뿐 만 아니라 hashCode메서드도 적절히 오버라이딩 해야합니다(주소 ->iv) 호출했을때의 결과값인 해시코드도 같아야 하기 때문 입니다. public final class String implements java.io.Serializable, Comparable, CharSequence { private final char value[]; public int hashCode() { int h = hash; if (h == 0 && value.length > 0) { char val[] = value; for (int i = 0; i < value.length; i++) { h = 31 * h + val[i].. 2023. 2. 23.
예외처리 코딩을 하다보면 여러가지의 오류를 만날수 있습니다 오작동을 하거나 비정상적으로 종료되는 경우 가 있죠 컴파일 에러 컴파일 시에 발생하는 에러입니다 런타임 에러 실행 시에 발생하는 에러 입니다 논리적 에러 실행은 되지만, 의도와 다르게 동작하는 것을 말합니다 에러 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 입니다. 예외 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류 입니다. 예외처리하기 try - catch문 예외처리의 정의 프로그램 실행 시 발생할 수 있는 예외에 대비한 코드를 작성하는 것 목적 프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것 1.컴파일러 에러 프로그램 에러 2. 런타임 에러 Error : 심각한 에러 Exception :미약한 에러 Exception .. 2023. 2. 23.
내부 클래스 내부 클래스 내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근할 수 있습니다. 코드의 복잡성을 줄일 수 있습니다(캡슐화) 내부 클래스의 선언 class Outer { int iv = 0; abstract int cv = 0; void myMethod() { int lv = 0; } } class Outer { class InstanceInner {} static class StaticInner{} void myMethod(){ class LocalInner {} } } 이렇게 변경 가능합니다. 내부 클래스의 제어자와 접근성 내부 클래스도 클래스이기 때문에 abstract나 final과 같은 제어자를 사용할 수 있을뿐 아니라 멤버변수들처럼 private.protected과 접근제어자도 사용이 가능합니다 익.. 2023. 2. 23.
인터페이스 인터페이스는 추상메서드의 집합 아무것도 없는 기본 설계도 이며 다른클래스를 작성하는데 도움 줄 목적으로 작성됩니다. 추상 클래스 와 인터페이스의 차이는 인터페이스 (추상메서드) 추상클래스(일반클래스인대 추상메서드를 가지고있다.) 추상 클래스는 클래스인데 추상 메서드를 포함하는 클래스, 멤버 변수를 가질 수 있음. 인터페이스는 추상 메서드’만’ 포함하는 클래스, 멤버 변수(iv, cv)를 가질 수 없음 정확히 말하자면 추상 메서드외에도 상수, static메서드, default메서드를 가질 수 있으나, 핵심은 인터페이스가 추상 메서드의 집합이라는 것임 추상 클래스 인터페이스 사용 키워드 abstract interface 사용 가능 변수 제한 없음 static final (상수) 사용 가능 접근 제어자 제한 .. 2023. 2. 23.