본문 바로가기

Java

(39)
[Java] 31 실습(ArrayList 총정리) 1. 회원가입, 로그인, 회원정보 검색이 가능한 프로그램 만들기 ※ 회원 1명에 대한 정보 : User 객체 , 각각의 회원 정보 : ArrayList에 저장 ​ (1) User.java에 회원 정보 출력 메소드 및 Getter와 Setter 생성 public class User { private String name; private String id; private String pw; public void show() { System.out.println("-----회원정보-----"); System.out.println("이름 : " + this.name); System.out.println("id : " + this.id); System.out.println("pw ..
[Java] 30 ● ArrayList 선언 - ArrayList 리스트이름 = new ArrayList(); ​ ※ : 제네릭 - jdk 5버전 이후부터 도입된 문법 - 클래스 내부에서 사용할 타입을 외부에서 지정하는 기법 - add() 메소드를 만들 때, 매개변수의 타입을 예측할 수 없다. 따라서 해당 부분을 제네릭으로 설정해 두고, 사용자가 ArrayList를 만들면서 타입을 안에 넘겨준다. ​ ​ ​ ● ArrayList vs 일반 배열 - ArrayList는 크기를 마음대로 변화할 수 있다. - 속도면에서는 일반 배열이 조금 더 빠르다. ​ 실습(ArrayList) 1. ArrayList를 Integer 타입으로 선언하여 메소드 실행 - add(요소) import java.util.ArrayList; public..
[Java] 29 ● 예외 처리(Exception Handling) - 예외가 발생하면 프로그램이 강제적으로 종료되고, 그 과정에서 사용자 경험이 나빠지거나 데이터 손실이 발생할 수 있다. - 예외가 발생하더라도 정상적으로 종료되도록 다루는 것 ​ ​ ​ ● throw - 예외를 발생시키는 키워드 ​ ​ ​ ● Object 클래스에 존재하는 toString() - 해당 메소드를 재정의하면, 출력될 때 모습을 정할 수 있다. ​ ​ 실습(throw(1)) 1. RuntimeException 클래스를 상속받는 클래스 생성 // 컴파일 오류 : Exception public class BadWordException extends RuntimeException /*Exception */{ public BadWordExceptio..
[Java] 28 ● 오류 1. 예외(Exception) - 프로그램 실행 중에 발생하는 오류 중에서 처리가 가능한 것 (1) 런타임 오류 : 실행 중에 발생하는 오류 (2) 컴파일 오류 : 컴파일 되기 전에 발생하는 오류 ​ 2. 에러(Error) - 프로그래머가 고칠 수 없는 오류(메모리 부족) ​ ​ ​ ● try-catch 문 try { 예외가 발생할 수 있는 코드; } catch(Exception 예외객체) { 예외가 발생했을 때 수행할 코드; } ​ ​ ※ 세분화 try { 예외가 발생할 수 있는 코드; ​ } catch(예외클래스1 예외객체) { 예외가 발생했을 때 수행할 코드; ​ } catch(예외클래스2 예외객체) { 예외가 발생했을 때 수행할 코드; ​ } ... { ​ } catch(Exception..
[Java] 27 ● String 클래스 1. length(문자열) - 해당 문자열의 길이(int)를 return ​ 2. charAt(인덱스) - 해당 위치의 문자(char)를 return ​ 3. indexOf(문자열) - 해당 문자열의 인덱스(int)를 return ​ 4. substring(인덱스) - 해당 인덱스부터 끝까지 자른 문자열(String)을 return ​ 5. split(문자열) - 해당 문자열로 자른 String[] 을 return ​ 6. join(연결 문자열, 배열) (static 메소드) - 해당 배열을 연결 문자열로 연결한 하나의 String을 return ​ 실습(String 클래스 메소드) 1. length(문자열) public class StringTest { public static ..
[Java] 26 ● API(Application Programing Interface) - 개발자들을 위해 기본적으로 제공하는 틀(클래스 틀) - 외부 API - 내부 API : 클래스들 String, ... ​ ​ ​ ● Wrapper Class - 기본 자료형을 감싸는 클래스 ​ ​ ​ ● 박싱 / 언박싱 1. 박싱(boxing) - 기본 자료형을 자신을 감싸는 클래스 타입으로 ​ 2. 언박싱(unboxing) - 클래스 타입을 기본 타입으로 ​ 실습(Wrapper 클래스) 1. int public class WrapperTest { public static void main(String[] args) { int num1 = 10; int num2 = 10; Integer num3 = new Integer(10); ..
[Java] 25 ● 내부 클래스 - 클래스 내부에 선언된 클래스 - 클래스 내부에 클래스를 선언함으로써 외부 클래스의 필드를 마음대로 사용할 수 있다. - 단독으로 동작할 필요가 없어서 굳이 밖에 만들 필요가 없을 때 사용한다. ​ 1. 인스턴스 클래스 - 외부클래스 외부인스턴스 = new 외부클래스(); - 외부클래스.내부클래스 내부인스턴스 = 외부인스턴스.new 내부클래스(); ​ 2. 스태틱 클래스 - 외부클래스.내부클래스 내부인스턴스 = new 외부클래스.내부클래스(); ​ 3. 지역 클래스 - 메소드 안에 선언된 클래스로 메소드 영역에서만 사용이 가능하다. ​ 4. 익명 클래스(무명 클래스) - 이름이 없는 클래스를 의미하고, 일회성으로 사용할 때 활용한다. ​ ※ A라는 클래스에서 b라는 작업이 자주 쓰이고,..
[Java] 24 ● 추상 클래스 - 추상메소드가 있는 클래스 - 필드 위에 미구현된 공간이 존재한다.(추상 메소드 부분이 미구현된 상태) ​ ​ ​ ● 추상 클래스를 상속 받은 클래스 1. 반드시 추상 메소드를 override 해야한다. 2. 자식 클래스도 추상 클래스로 만든다. ​ ​ ​ ● 추상 클래스 사용 목적 - 자식 클래스에서 반드시 재정의되어야 하는 메소드를 추상 메소드로 선언함으로써 강제성을 부여할 수 있다. ​ ​ ​ ● 추상 메소드 - 이름만 정의된 메소드 - 기능은 미구현 상태 → body( { } )가 없다 ​ ​ ​ ● 인터페이스(틀) - 추상 클래스를 고도화시킨 문법 - 추상 메소드만 선언할 수 있다. - 상속 방법 : implements로 상속을 받는다. - 한 번 밖에 사용하지 못하는 exte..