캡슐화 (Encapsulation)
1. 개념 및 특징 - 모든 변수들과 메소드들을 클래스 단위로 모으는 것, 객체 안에 데이터와 메소드를 숨기는 것, 객체 속성과 메소드를 외부에 노출하지 않음 (정보 은닉)
2. 장점
- 코드의 중복을 제거
- 외부의 잘못된 접근으로부터 필드와 메소드를 보호
- 의도치 않은 변화에서 데이터와 메소드의 안전을 유지
상속 (Inhertiance)
1. 개념 및 특징- 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것
2. 사용방법- 새로 사용하고자 하는 클래스(하위클래스)의 이름 뒤에 상속받고자 하는 클래스(상위클래스)의 이름을 키워드 'extends'와 함께 써주면 됨- 예시
class point {
}
class circle extends point {
}
class point {
int x;
int y;
}
class circle extends point {
int r
}
3. 장점
- 상속을 통해 클래스를 작성하면 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있고
- 코드를 공통적으로 관리하기 때문에 코드의 추가 및 변경이 용이함
4. 포함관계와의 비교
- 포함관계
class circle {
point c = new point();
int r;
}
- 상속관계
class circle extends point {
int r;
}
~은 ~이다 => 상속관계 구현
~을 가지고 있다 => 포함관계 구현
5. 오버라이딩
- 상속받은 메서드의 내용을 변경하는 것
- 하위 클래스가 자신의 필요에 맞게 변경
class point {
int x;
int y;
String getLocation(){
return "x: "+ x + ", y: "+ y;
}
}
class point3d extends point {
int z;
String getLocation(){
return "x: "+ x + ", y: " + y + ", z: " + z;
}
}
'자유게시판 > 스터디' 카테고리의 다른 글
[WEB] Restful API (2) | 2024.01.08 |
---|---|
[WEB] HTTP 메소드 (0) | 2024.01.02 |
[Web] 구글을 주소창에 검색했을 때 화면이 나오기까지의 과정 (0) | 2024.01.01 |
[WEB] HTTP란? (0) | 2024.01.01 |
스터디 7주차 (0) | 2023.03.26 |