본문 바로가기

Java

(19)
[Java] Collection 정의와 특징 Collection의 정의 다양한 자료구조(List,Set,Map,...)를 자바 클래스로 객체화한 것 Collectiond의 특징 객체만 저장할 수 있다 동적 배열의 성격을 가지고 있다 객체를 저장할 때 Object형으로 변환해서 저장된다 저장된 데이터를 꺼내올 때 원래의 자료형으로 형변환시켜야 한다.
[Java] 객체 형변환, 예외처리 1. 자바의 형변환 기본 형변환 --> byte, short, int, long, float, double, char 자동 형변환(작은크기에서 큰크기로) 강제 형변환(큰크기에서 작은크기로) 객체 형변환 --> 클래스, 배열, 인터페이스 자동 객체형변환 명시적인 객체형변환 2. 객체 형변환 객체 형변환은 상속관계(부모-자식관계)때문에 존재 부모 클래스 < 자식 클래스 ( 부모보다 멤버변수,메서드 개수가 더 많다) 자식클래스에서 부모클래스로 자동형변환 일어남 부모클래스에서 자식클래스로 자동형변환 일어나지 않음 3. instanceof 연산자 객체형변환이 가능한지 아닌지를 확인시켜주는 연산자 형식) if ( 객체명 instanceof 클래스명) 4. 예외처리 예외 : 정상적인 자바프로그램의 실행을 방해하는 에..
[Java] String 클래스의 자주쓰는 메서드 메서드 설명 String concat(String str) 문자열 str을 뒤에 추가 String substring(int begin) String substring(int begin, int end) begin 부터 end까지 포함되는 인덱스의 문자열을 추출 단 end 값은 포함되지 않음(begin 공백포함, next(단어) String input = sc.nextLine(); stringPrint(input); } public static void stringPrint(String s) { //1.concat --> 문자열 결합 System.out.println("s.concat('test')= "+s.concat("test")); //2.substring(시작인덱스(포함),종료인덱스(바로 앞번호까지..
[Java] 추상클래스, 인터페이스 1. 메서드의 종류 - 객체 생성 유무에 따라 일반 메서드 --> 객체 생성을 해야 호출이 가능 정적 메서드 --> 객체 생성 없이도 호출이 가능 추상 메서드 --> 메서드의 선언만 되어있는 메서드, 구현부{ } 가 없는 메서드 ex) public abstract void go( ); 2. 추상 클래스 클래스 내부에 추상 메서드가 하나라도 존재하면 추상 클래스 추상 클래스를 상속받은 자식 클래스는 추상메서드를 반드시 오버라이딩 해야 함 객체 생성 불가능 추상 클래스 사용 목적 : 설계 목적 3. 인터페이스 인터페이스 사용 목적 : 설계 목적 멤버변수 --> 상수만 선언 가능, static final 생략 가능 ex) public static final int SU=3; 메서드 --> 추상 메서드만 선언 ..
[Java] static , final 1. 정적(static) 변수 static 멤버변수 + static 메서드 개별 객체를 생성하지 않아도 메모리에 먼저 로드됨 형식1) 클래스명.static멤버변수 형식2) 객체명.static멤버변수 일반 메서드 및 static 메서드 내부에서 자유롭게 접근 가능 2. 정적(static) 메서드 static 멤버변수만 접근 가능한 메서드 일반 멤버변수는 접근 불가 형식1) 클래스명.static메서드( ) 형식2) 객체명.static메서드( ) static 메서드 내부에서는 static 메서드만 호출 가능 객체 생성 없이 호출 가능 3. final 형식1) final 멤버변수/지역변수 --> 값을 변경할 수 없는 상수, 대문자로 표현 ex) final COUNT = 1; 형식 2) final 메서드명( ) ..
[Java] 객체 생성 방법 1. new 연산자 형식) 클래스명 객체명 = new 클래스명( ); ex) ThreeTest22 tt2 = new ThreeTest22( ); 2. 메서드 매개변수 call By Value --> 값에 의한 전달방법 call By Reference --> 주소에 의한 전달방법(=객체에 의한 전달방법) public class CallByValue { public static void main(String[] args) { int r = -1,g = -1, b = -1; System.out.println("before:red="+r+",green="+g+"blue="+b); change_color(r,g,b); System.out.println("after:red="+r+",green="+g+"blue="..
[Java] 접근 지정자 - private, default, protected, public 접근 지정자(접근 권한자) 외부에서 필요로하는 클래스를 불러올 때 사용하는 지정자를 의미함 접근 범위 : private < (default) < protected < public 사용 목적 : 외부로부터 데이터를 보호하기 위해서 1. private 접근 지정자 같은 패키지 접근 X 다른 패키지 접근 X 자기 클래스내에서만 접근 O 2. default 접근 지정자 같은 패키지 접근 O 자기 클래스내에서도 접근 O 다른 패키지 접근 X 다른 패키지 & 상속받은 자식 클래스 접근 X 3. protected 접근 지정자 같은 패키지 접근 O 자기 클래스내에서도 접근 O 다른 패키지 접근 X 다른 패키지 & 상속받은 자식 클래스 접근 O 4. public 접근 지정자 같은 패키지 접근 O 자기 클래스내에서도 접근..
[Java] 객체지향 프로그래밍 - 상속 1. 상속의 개요 상속(inheritance) : 기존 클래스를 재사용하여 새로운 클래스를 작성하는 것 상속을 통해 중복 코딩을 줄여 효율적인 개발 가능(코딩 양 감소, 개발 시간 단축, 유지보수 편리, 재사용성) 상속과 복사는 다름 --> 기능은 비슷하지만 의미가 좀 다름 부모클래스(슈퍼클래스)가 자식클래스(서브클래스)에게 멤버변수,메서드를 물려줌 2. 상속의 특징 생성자는 상속이 불가능 다중상속 불가능 단일상속만 가능 상속 누적 가능 Parent {int a} > Child { int b } > GrandChild { int a, b } GrandChild클래스는 Parent클래스의 멤버변수 a와 Child 클래스의 멤버변수 b를 모두 상속 가능 3. 오버라이딩 부모클래스로부터 상속받은 메서드 중에서..