| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
- Java
- 저축장려금
- Eclipse
- 참조변수
- 청년희망적금미리보기
- StringBuffer
- 자바공부
- ToString()
- 이클립스
- 자바기초
- insert
- 신한은행청년희망적금
- 개발공부
- apachetomcat
- 2022청년희망적금
- 자바스크립트배열
- 자바
- equals()
- 배열함수
- 이클립스설치
- 청년희망적금
- 공부
- 자바배열
- 자바스크립트
- 자바강의노트
- MySQL
- 자바문자열연결
- mysql오류
- if문
- 청년적금
- Today
- Total
eterno
JAVA 16일차. 추상클래스, this(), 정보은닉 본문

자바에서 Resource를 사용하는 방법
- static 키워드 : 클래스로 사용
- new 연산자(키워드) : 참조변수 사용
- 상속(inheritance) : 클래스, 참조변수 없이 사용 extends 키워드 : class 클래스 상속시 사용
- 단일상속(simple inheritance) impolement 키워드 : interface클래스 상속 시 사용
- 다중상속(multiful inheritance)
public abstract class : 추상클래스라고 하며 new 연산자를 사용하지 못함
getInstance() 함수사용 ex)java.util.Calendar
사용방법 : Calendar rightNow = Calendar.getInstance(); // api에서 확인 가능
인터페이스는 다중상속이 가능하다.
- 다중상속이란 ? 클래스에 여러개의 인터페이스를 넣는 것
예제)

예제)


1. 인터페이스 2개 생성

2. 클래스를 만들어 인터페이스를 불러온다.(다중상속)

3. 인터페이스를 호출하여 클래스의 값을 출력한다.
자바 클래스 종류
- 일반 클래스 : public class 클래스이름
- 구상클래스(concrete class : 구현체가 다 있는 클래스) - 추상 클래스 : public abstract class 클래스이름
- 추상함수를 가지고 있는 (구현체가 없는) 불완전한 클래스 - 인터페이스 클래스 : public interface 인터페이스클래스이름
완벽한 추상클래스 - 파이널 클래스 : public final class 클래스이름
- 클래스 변경할 수 없는 클래스
추상클래스(abstract class)
: 구체적이지 않고 막연한 클래스 ⇒ 구현 코드가 없는 클래스
- 추상클래스는 항상 추상메소드를 포함한다.
- 구현체가 있어도 되고 없어도 된다.
- 인터페이스는 추상클래스이지만 ALL 추상클래스이다.
(인터페이스와 추상클래스는 비슷해서 둘 다 new연산자 하면 안되고(생성자를 안 갖고 있음)
추상클래스를 쓰려면 상속 해야한다.)
- ex) Class Calendar 는 추상클래스이고 메모리에 올릴 때 get.Instance()를 사용한다.
public abstract class **Calendar**
Calendar rightNow = Calendar.getInstance();
→ api에서 확인 가능
예제)


this() 예약어
this : 현재 메모리에 있는 나(오브젝트)의 주소를반환한다.
- 생성자에서 다른 생성자를 호출 할 때
- 자신의 데이터필드를 참조할 때
- 같은 클래스에서 다른 생성자 호출 할 때
this 예약어를 사용한다.
회원정보는 이름(한글), 이메일(영문), 전화번호(핸드폰번호), 주소(시, 동)을 입력한다.
회원정보출력하는 방법 4가지
방법1)직접 입력하여 출력한다.

방법2)this()예약어를 사용하여 출력한다.

방법3) 이클립스에서 아규먼트 값을 받아 출력한다.

방법4)this와 scanner를 사용하여 사용자로부터 직접 값을 받아 출력한다.

정보은닉(information hiding)
private로 선언한 변수나 메소드는 외부 클래스에서 사용 할 수 없다.
(private는 같은 클래스 내부에서만 접근 할 수 있는 접근제어자)
→ 외부코드에서 parvate로 선언한 변수, 메소드를 사용하려면 public 메소드를 제공해야한다.
- public메소드가 제공되지 않는다면 get(), set()메서드를 사용
- setter함수 : 초기화함수 / 사용방법 : set + 변수이름()
- getter함수 : 리턴함수 / 사용방법 : get + 변수이름();
* 변수이름의 첫 글자는 대문자로 쓴다.
참고) property(프로퍼티) : 데이터를 저장하기 위한 변수
getter, setter 함수 사용하는 방법


소스창에서 마우스 우클릭 - Source - Generate Getters and Setters… 클릭
set(), get()함수를 추가하고 싶은 멤버 변수를 선택하고 OK버튼 클릭하면 아래와 같이 생성된다.
package a.b.c.ch5;
public class TestMemberVO {
//information hiding, encapsulation : 정보은닉(권한이 없으면 쓸 수 없음)
private String name;
// getname() : name값을 리턴한다
public String getName() {
return name;
}
// setname() : name값을 초기화한다
public void setName(String name) {
this.name = name;
}
}
예제)


'JAVA > 강의노트' 카테고리의 다른 글
| JAVA 18일차.HashMap, 정렬, 예외처리 (2) | 2022.09.12 |
|---|---|
| JAVA 17일차. 자료구조와 Array List (4) | 2022.08.25 |
| JAVA 15일차. 상속과 인터페이스 (11) | 2022.08.22 |
| JAVA 14일차. 복습 및 문제풀어보기 (12) | 2022.08.21 |
| JAVA 13일차. switch문, for문, while문, do-while문 (20) | 2022.08.20 |