분류 전체보기41 Object클래스 (equals, hachCode, toString) Object클래스 모든 클래스의 최고 조상(오직 11개의 메서드만 가지고 있다. iv와 cv가 없다.) Object클래스의 대표 메서드(나머지 생략) public boolean equals(Object obj)//객체 자신과 객체obj가 같은 객체인지 알려준다.즉 객체비교(같으면 true) public Class getClass() //객체 자신의 클래스 정보를 담고 있는 Class인스턴스를 반환한다. public int hashCode() //객체 자신의 해시코드를 반환한다. public String toString() //객체 자신의 정보를 문자열로 반환한다. 1. equals(Object obj) 객체 자신(this)와 주어진 객체(obj)를 비교한다. 같으면 true, 다르면 false Objec.. 2022. 3. 17. 사용자 정의 예외 만들기, 예외 던지기, 연결된 예외 사용자 정의 예외 만들기 우리가 직접 예외 클래스를 정의할 수 있다. 조상은 Exception과 RuntimeException중에서 선택 문자열 매개변수로 받는 생성자를 만든다. 예외던지기(exception re-throwing) 예외를 처리한 후에 다시 예외를 발생시키는 것 호출한 메서드와 호출된 메서드 양쪽 모두에서 예외처리하는 것 ※ 예외처리가 2번이나 된다. 왜 이렇게 양쪽에서 예외를 처리하는거지..??이해를 하지 못함 연결된 예외(chained exception) 한 예외가 다른 예외를 발생시킬 수 있다. 예외 a가 예외 b를 발생시키면, A는 B의 원인 예외(cause exception) Throwable initCause(Throwable cause) // 지정한 예외를 원인 예외로 등록 T.. 2022. 3. 16. 메서드에 예외선언하기 그리고 Finally 메서드에 예외 선언하기 예외를 처리하는 방법: try - catch문(직접처리), 예외 선언하기(예외 떠넘기기),감추기(빈catch 사용 - 웬만하면 사용안하기) 메서드가 호출시 발생가능한 예외를 호출하는 쪽에 알리는 것 ※예외를 발생시키는 키워드 throw와 예외를 메서드에 선언할 때 쓰이는 throws를 잘 구별하자. void method() throws Exception1, Exception2, ... ExceptionN { // 메서드에 예외 선언 //메서드 내용 } //method()에서 Exception과 그 자손 예외 발생 가능 void method() throws Exception {//모든 종류의 예외 //메서드 내용 } Git예제/응용 코드 보러가기 fianlly 블럭 예외 발생여부와 .. 2022. 3. 10. 메서드와 선언 위치에 따른 변수의 종류 선언 위치에 따른 변수의 종류 클래스 영역 iv(Instance Variables): 인스턴스(객체)가 생성되었을 때 cv(class Variables): 클래스가 메모리에 올라갈 때(객체생성 필요없음) ※iv와 cv의 차이점: 객체 생성의 필요성( iv: 객체생성 || cv: 객체생성 안해도됨) 메서드 영역(메서드의 시작'{'부터 메서드의 끝'}') lv(Local Variables): 변수 선언문이 수행되었을 때 생성 클래스 변수와 인스턴스 변수 클래스 변수(CV) static을 타입앞에 붙여야 한다. 공통 속성(모든 인스턴스가 공통으로 갖는 속상 값) 예시: 카드의 높이와 폭 인스턴스 변수(IV) 개별 속성 예시: 카드의 숫자와 무늬 class Card { String .. 2022. 3. 10. 객체 지향 언어, 객체 지향 프로그래밍, 클래스와 객체(+객체의 배열) 객체지향 언어 객체지향 언어란? 프로그래밍 언어 + 객체지향개념(규칙) 객체 지향언어의 장점 1. 코드의 재사용성이 높다. - 다른 개발자가 만든 클래스를 가져와서 이용할 수 있고 상속을 통해 확장해서 사용이 가능하다. 2. 유지보수가 쉽다. - 수정해야 할 부분이 클래스 내부에 멤버 변수 혹은 메서드로 존재하기 때문에 해당 부분만 수정하면 된다. 3. 중복 코드 제거 4. 대형 프로젝트에 적합 - 클래스 단위로 모듈화시켜서 개발할 수 있으므로 대형 프로젝트를 여러 명 또는 여러 회사에서 개발할 때 업무 분담하기 쉽다. ※모듈화? 모듈 : 소프트웨어 설계에서 기능단위로 분해하고 추상화 되어 재사용 및 공유 가능한 수준으로 만들어진 단위 모듈화 : 시스템을 분해하고 추상화를 통해 소프트웨어 성능을 향상 시.. 2022. 3. 6. 프로그램 오류, 예외클래스 그리고 예외 처리하기 프로그램 오류, 예외클래스 그리고 예외 처리하기 프로그램 오류 컴파일 에러(compile-time error): 컴파일 할 때 발생(프로그램이 실행되지 않음) 자바 컴파일러(javac): 구문체크, 번역, 최적화, 생략된 코드 추가 런타임 에러(runtime error): 실행 할 때 발생하는 에러(프로그램 종료) 논리적 에러(logical error): 작성 의도와 다르게 동작(프로그램이 종료되진 않음) java의 런타임 에러 에러(error): 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 예외(Exception): 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류 → 에러(error)는 어쩔 수 없지만, 예외(exception)은 처리하자 예외처리의 정의와 목적 정의: 프로그램 실행 시.. 2022. 3. 1. 이전 1 2 3 4 5 6 7 다음