: 객체를 자신이 만들지 않음
객체 다양한 곳에 활용되고 있는데 추가하면 불필요한 기능이 포함될 수 있다.
1) 상속 : 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것
적은 양의 코드로 새로운 클래스를 작성할 수 있고 코들르 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 매우 용이
코드의 재사용을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여
2) 오버라이딩(overriding) : 조상 클래스로부터 상속받은 메서드의 내용을 변경하는 것
1. 접근제어자는 조상 클래스의 메서드보다 좁은 범위로 변경할 수 없다.
2. 조상 클래스의 메서드보다 많은 수의 예외를 선언할 수 없다.
* 조상 클래스의 메서드를 자손 클래스에서 오버라이딩 할 때
1. 선언부가 조상 클래스의 메서드와 일치해야 한다.
2. 접근 제어자를 조상 클래스의 메서드보다 좁은 범위로 변경할 수 없다.
3. 예외는 조상 클래스의 메서드보다 많이 선언할 수 없다.
3) 오버로딩(overloding) : 한 클래스 내 같은 이름의 메서드를 여러개 정의하는것
오버라이딩(overriding) : 상속받은 메서드의 내용을 변경하는 것
부모-동물클래스(cry메서드 운다) -> 상속받은 호랑이클래스(어흥하고 운다)
4) super() - 조상의 생성자
this()는 같은 클래스의 다른 생성자를 호출하는데 사용
super() 조상의 생성자를 호출하는데 사용
5) 패키지 : 클래스의 묶음. 클래스를 효율적으로 관리할 수 있음
같은 이름의 클래스 일지라도 서로 다른패키지에 존재하는 것이 가능하므로, 자신만의 패키지 체계를 유지함으로써
다른 개발자가 갭라한 클래스 라이브러리의 클래스와 이름이 충돌하는 것을 피할 수 있다.
클래스 : 물리적 하나의 클래스파일, 패키지 : 물리적으로 하나의 디렉토리
package 패키지명;(소문자)
6) import문
클래스의 코드를 작성하기 전에 import문으로 사용하고자 하는 클래스의 패키지를 미리 명시해줌으로써 소스 코드에 사용되는
클래스이름에서 패키지명은 생략할 수 있다.
7) 제어자(modifier)
접근 제어자 : public, protected, default, private
그 외 : static, final, abstract, native, transient, synchronized, volatile, stricffp
- static이 사용될 수 있는 곳 - 멤버변수, 메서드, 초기화 블럭
- final이 사용될 수 있는 곳 - 클래스, 메서드, 멤버변수, 지역변수
- abstract가 사용될 수 있는 곳 - 클래스, 메서드
8) 접근 제어자
접근 제어자가 사용될 수 있는 곳 - 클래스, 멤버변수, 메서드, 생성자
private : 같은 클래스 내에서만 접근 가능
default : 같은 패키지 내에서만 접근 가능
protected : 같은 패키지 내에서, 그리고 다른 패키지의 자손클래스에서 접근이 가능하다.
public : 접근 제한이 전혀 없다.
접근 제어자를 사용하는 이유 : 외부로부터 데이터를 보호하기 위해서, 외부에는 불필요한 내부적으로만 사용되는 부분을 감추기 위해
'Java > 자바의 정석(이론)' 카테고리의 다른 글
Java(5) 배열(Array)이란? (0) | 2020.11.03 |
---|---|
Java(4) 조건문과 반복문 (0) | 2020.10.27 |
Java(3) 연산자란? (0) | 2020.10.27 |
Java(2) 변수(Variable)란? (0) | 2020.10.27 |
Java(1) 자바(Java)란? (0) | 2020.10.20 |
댓글