분류 전체보기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. 이전 1 ··· 25 26 27 28 29 30 31 ··· 36 다음