코드스테이츠 Section1이 지났으며, 점프 투 자바 한 권을 떼었다.
그동안 자료형, 제어문, 클래스, 인터페이스, 오버라이딩, 추상화, 다형성 등을 배웠다.
자료형과 제어문에서 크게 어려운점 없었지만 클래스 부분부터는 달랐다.
기존에 배웠던 파이썬은 일부 데이터 전처리와 함수 생성에 비중이 높았으며, 클래스를 통한 프로그램을 작성해 본 적이 없어 생소했다.
따라서 지금부터 생소했던 단어들을 정리하려 한다.
thing
)을 나타낸다.new
키워드를 통해 생성한다참조변수
란기본형 변수는 실제값을 저장하며
참조변수는 주소값을 저장한다.
참고-참조형 변수의 기본개념
필드 | static |
---|---|
클래스 변수 | O |
인스턴스 변수 | X |
클래스명.클래스변수명
을 통해 사용 가능생성자명
== 클래스명
class Sample{
Sample(){
}
extends
)은 다형적 표현이 가능하다.class Circle{
int x;
int y;
int r;
}
class Point{
int x;
int y;
}
class Circle{
point c = new Point(); // 포함관계
int r;
}
접근제어자 | 제한범위 |
---|---|
private | 동일 클래스 |
default | 동일 패키지 |
protected | 동일 패키지+다른 패키지 하위 클래스 |
public | 제한 없음 |
...
Car car = new Car();
Vehicle vehicle = (Vehicle) car; // 업캐스팅
Car car = (car) vehicle; // 다운캐스팅
abstract
를 붙여 추상 메서드 또는 추상 클래스라 한다.abstract class AbstractExam{ // 추상 메서드가 하나 이상 포함된 추상 클래스
abstract void start();// 메서드 바디 없는 추상메서드
}
public static final
로 정의(생락가능)static/default
이외 모든 메서드가 public abstract
로 정의(생략가능)class 클래스명 implements 인터페이서명{
... // 인터페이스에 정의된 모든 추상메서드 구현
}