배운 내용
- Interface(인터페이스)
- Object Class
- Nested Class(inner, anonymous)
- String API
1. Interface(인터페이스)
인터페이스는?
추상메소드와 흡사한 기능을 가지고 있으며 자식메소드를 구현하는데 사용된다. implements를 사용하여 생성한다.
인터페이스를 사용하는 이유
- 코드의 독립성을 위하여
- 코드의 일관성을 위하여
인터페이스와 추상메소드와의 차이점
- 추상클래스는 일반 메소드와 추상메소드를 둘다 가질 수 있지만, 인터페이스는 추상메소드와 상수만 가질 수 있다.
- 인터페이스 내에 존재하는 메소드는 public abstract로 선언한다. (abstract를 생략해도 무방하다.)
- 인터페이스 내에 존재하는 변수는 무조건 public static final로 선언한다.
- 인터페이스는 다중 상속과 비슷한 기능을 제공한다.
- interface 클래스를 개설하여 String insertBoard메소드를 선언한다.
- Oracle 클래스를 생성할 때 interface 클래스를 implements로 인터페이스한다.
- 인터페이스 메소드를 통하여 Oracle을 리턴해준다.
- Oracle과 동일한 방법으로 선언해준다.
- name메소드를 선언하여 program을 파라미터값으로 선언하고 인터페이스 메소드를 선언한다.
- Main메소드에서 인터페이스 클래스를 제외하고 객체를 생성해준다.
- Manager 객체의 name 메소드를 통해 각 프로그램을 실행한다.
2. Object Class(오브젝트 클래스)
오브젝트 클래스는?
모든 클래스의 조상이며 암시적으로 모든 클래스가 상속을 받고있다.
오브젝트 클래스의 종류
equals(Object obj)
동일한 클래스에서 생성된 두 객체를 비교한다.
- AccountMain에서 선언한 obj 객체에 대하여 boolean을 사용하여 오버라이드를 선언한다.
- accountNum이 같으면 참, 다르면 거짓을 선언한다.
- Main메소드에서 각 객체별 생성자 파라미터 값에 대해 선언한다.
- 그 값이 같다면 “같다", 아니면 “다르다"를 출력한다.
- 여기서 오버라이딩을 하지 않는다면 주소값을 비교하게 되니 주의한다.
toString()
문자화시키는 것을 말한다.
- 변수와 생성자를 생성한다.
- 여기서 toString을 오버라이딩 하여 문자화 시켜준다.
- toString이 없다면 주소값이 출력이 되겠지만 toString을 통하여 문자화하였기 때문에 2000년 12월 2일이 출력이된다.
3. Nested Class
네스티드 클래스는?
클래스 안의 클래스라는 의미이다.
- 소스의 가독성을 높이고, 유지보수를 용이하게 하기 위함
Inner Class(내부클래스)
- OuterOfStatic이라는 클래스 안에 StaticNested클래스가 추가로 있는 것을 볼 수 있다.
- 해당 클래스를 컴파일 하면 내부의 클래스도 동일하게 실행이 된다.
Anonymous Class(익명클래스)
- Role이라는 추상클래스를를 Main에서 바로 객체로 생성한다.
- 해당 추상메소드를 선언한다.
- Person클래스를 객체로 생성하여 파라미터 값에 r을 선언하고 출력한다.
- “공부 열심히 하는 학생" 이 출력된다.
3. String API
String API는?
String에 해당되는 자바의 기능을 말한다.
- String에 관련된 API를 사용함으로서 보다 편리하고 쉽게 작업이 가능함
- 문자열 선언은 String name = “”; , String name = new String(“”); 로 한다.
- String 불변성은 자신은 메소드를 통하여 변하지 않는 것을 말하며 concat을 사용한다.
- 불변성을 해결하기 위해 문자열을 조건문과 함께 사용한다.
- StringBuffer, StringBuilder를 사용하여 변한다.
- 해당 문자열의 위치를 파악하기 위해 indexOf(“”); 를 사용한다.
- 문자열의 길이는 length를 사용한다.
- 문자열 부분 추출은 substring(,)으로 실사용이 잦으니 꼭 기억하자.
- 공백문자 제거는 trim()을 사용한다.
- 문자를 배열로 전환하는 것은 split()을 사용한다.
- 정수형을 문자열로 바꾸는 방법은 정수의 변수값을 문자열로 실행하여 바꾼다.
'KOSTA' 카테고리의 다른 글
KOSTA 교육 (정규표현식, 자료구조, ArrayList, Stack, Hashmap, Queue) (0) | 2021.03.03 |
---|---|
KOSTA 교육 (Calendar, Random, 정규표현식) (0) | 2021.02.24 |
KOSTA 교육 (객체지향, reference 타입, instanceof 연산자, 추상메소드 , 인스턴스) (0) | 2021.02.22 |
KOSTA 교육 (정적 필드, 정적 메소드, 정적 초기화, 상수 필드, final, 오버로딩, 오버라이딩, 상속) (0) | 2021.02.19 |
KOSTA 교육(객체지향, 생성자, 접근제어자, 예외) (0) | 2021.02.18 |