캡슐화(은닉화) : data-private, method-public 방법
class Date{
int year=1970;
}
Date d = new Date();
d.year=0;
syso(d.year);
논리적으로 문제없으나 변수에 직접 접근하므로 의미상 문제가 있음
class Date{
private int year=1970;
}
public void setYear(int year){
if(year>0{
this.year=year;
}
}
변수에 private를 하고 get, set(제약을 줘서 유효성체크를)을 해야함
접근제어자
public : 패키지 클래스 접근제한 없이 사용가능
protected: 상속받은 클래스는 접근 가능
(default): 같은 패키지 내부에만 사용가능
private: 같은 클래스 내부에만 사용가능
다형성
1. 다형적 변수
Hello h = new Hello();
Object o = h;
자손 객체인 h의 기능을 제한해 Object 객체 생성(쉐도우 이펙트)
2. overriding 규칙
가장 자손 객체의 메서드를 제일 먼저 참조한다
3. overloading 규칙
참조 변수를 활용해 참조하도록 설정한다. > 편의성을 높인다 > 사용성 증가
이름이 같은 print 메서드를 여러개 선언가능하다. 그러면 매개변수를 Circle, Shape 타입으로 변경하면서 사용할 수 있다.
상속
상속은 다형성의 개념을 활용해서 사용한다. (사용하지 않으면 사용하지 않은것 보다 좋지 않다.)
그림의 눈사람은 상속 계층도를 의미한다.
'Java > 개념정리' 카테고리의 다른 글
자바 웹의 동작 구조2(이미지) (0) | 2020.08.03 |
---|---|
자바 웹의 동작 구조(이미지) (0) | 2020.07.31 |
computing paradigm & JAVA 동작 원리 (0) | 2020.07.23 |
리눅스 서버관련 자료 (2) | 2020.07.16 |
리눅스 명령어 모음_(2) (2) | 2020.07.15 |