본문 바로가기

전체 글

(33)
Java로 게시판 자동 번호 생성하기 게시판 > 글 목록에 자동 번호 매기기 게시판은 공지사항, 자유게시판, 힐러지식in 3개가 있다. 각각의 게시판에 번호를 1부터 추가한다. 자유게시판으로 예를 들면, public class FreeBoard implements Serializable{ private int no; private String title; private String content; private Member writer; private Date registeredDate; private int viewCount; private int like; private String reason; private String requester; public static int lastIndex = 1; } 글 번호를 자동으로 넣어줄 때 사..
예외처리 프로그램 오류 1. 컴파일에러 : 컴파일 시 발생하는 에러 2. 런타임에러 : 실행 시에 발생하는 에러 3. 논리적 에러 : 실행은 되지만, 의도와 다르게 동작하는 것 4. 에러(error) : 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 5. 오류(Exception) : 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류 예외처리하기 정의 : 프로그램 실행 시 발생할 수 있는 예외에 대비한 코드를 작성하는 것 목적 : 프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것 try { // 예외가 발생할 가능성이 있는 문장들을 넣는다. } catch (Exception1 e1) { // Exception1 발생했을 경우, 이를 처리하기 위한 문장을 적는다. } catch (Excep..
클래스 멤버와 인스턴스 멤버간의 참조와 호출 클래스 메서드와 인스턴스 메서드 클래스 메서드는 앞에 static이 붙어있다. 클래스 메서드는 객체를 생성하지 않고도 '클래스이름.메서드이름(매개변수)'로 호출이 가능하다. 인스턴스 메서드는 반드시 객체를 생성해야만 호출가능 인스턴스 메서드와 클래스 메서드의 차이점 메서드의 작업을 수행하는데 인스턴스 변수를 필요로 하는 메서드이다. 반면에 인스턴스와 관계없는 메서드를 클래스 메서드로 정의한다. 어떤 경우에 사용하나? 1. 클래스 설계할 때, 멤버변수 중 모든 인스턴스에 공통으로 사용하는 것에 static을 붙인다. (멤버 변수는 클래스 영역에 선언된 변수이며 멤버 변수는 클래스 변수, 인스턴스변수를 모두 통칭한다.) 2. 클래스 변수(static변수)는 인스턴스를 생성하지 않아도 사용할 수 있다. 3. ..
메서드 메서드란? 어떤 값을 입력하면 이 값으로 작업을 수행해서 결과를 반환하는 것. 작업을 수행하는 일련의 문장들을 하나로 묶는다. 사용하는 이유 1. 높은 재사용성 2. 중복된 코드 제거 3. 프로그램의 구조화 메서드의 선언과 구현 1. 선언부 2. 구현부 반환타입 메서드이름 (타입변수명, 타입변수명, ..) // 선언부 { ... // 구현부 } int add (int a, int b) // 선언부 { int result = a + b; // 구현부 return result; } 메서드 선언부 - 메서드이름 - 매개변수 선언 - 반환타입 매개변수 선언 : 매서드가 작업을 수행하는데 필요한 값들을 제공받기 위한 것. 메서드의 이름 : 함축적이면서도 의미있는 이름을 짓도록 노력해야 한다. 반환타입 : 출력타입..
오버로딩 오버로딩 : 한 클래스 내에 같은 이름의 메서드를 여러개 정의하는 것 조건) 1. 메서드 이름이 같아야 한다. 2. 매개 변수의 개수 또는 타입이 달라야 한다. *여러개를 정의했다고 무조건 오버로딩은 아니다.* 예) -오버로딩이 안되는 예 // 이름만 다를 뿐 매개변수의 타입이 같기 때문에 오버로딩이 성립되지 않는다. int add(int a, int b) {return a + b;} int add(int x, int y) {return x + y;} // 리턴타입만 다를 경우, 타입과 개수가 같아 오버로딩으로 간주되지 않는다. int add(int a, int b) {return a + b;} long add(int a, int b) {return (long)a + b;} - 오버로딩이 되는 예 // ..