기존 클래스를 확장(재사용)하여 새로운 클래스 작성
class Parent {}
class Child extends Parent {} // parent를 상속받음
자식이 부모를 의존하고 있음. 즉 부모가 가진 모든 멤버를 상속받음.
부모보다 자식이 더 넓은 범위 그 안에 부모
클래스 안에 참조형 변수 선언하는 것
class Circle {
Point c = new Point();
int r;
}
하나의 부모만 허용함. 하나는 상속 하나는 포함으로 이용하면 됨,
부모의 메서드 덮어쓰기 자손에서 같은 메서드를 사용하는데 안에 내용을 변경하여 사용하는 것


위 사진과 같이 자손이 저렇게 초기화 하는것이 아닌 부모가 초기화를 하고 super(x,y) 를 사용하여 조상의 생성자를 호출하는 방법이 맞음.자식 초기화 단계에서 this.x =x this.y = y 를 하는게 아니라 super(x,y)를 호출해 부모의 생성자 호출
class의 묶음 즉 관련된 class들을 묶어놓은 것
여러개의 패키지와 클래스를 묶은 것
시스템 변수 편집에서 classpath에 해당 프로젝트의 위치를 넣어주면 cmd에서도 class 실행가능 하지만 .;[프로젝트 위치] 앞에 .;를 붙여줘야함.
클래스 이름에ㅔ서 패키지 이름을 생략할 수 있게 import하는 것
대상에 부가적인 의미 부여하는 것
변경될 수 없는(상수). 즉 const 느낌, 오버라이딩 불가
상수를 보통 final static 으로 하는데 객체마다 다른 상수값 가질떄는 final만 붙여서 사용함.
추상적인 것. 즉 미완성 메서드 및 클래스에 붙임.
추상 메서드가 있는 클래스는 추상 클래스로 해줘야함.
클래스에는 public만 사용가능 메서드, 멤버변수는 모두 사용가능.
외부로부터 데이터를 보호하기 위하여(캡슐화)
private를 활용해 클래스 안에서 즉 외부에서 접근 불가능하게 할때 사용 그리고 메서드는 public을 통해 직접 변수를 조정하는게 아닌 만들어둔 메서드를 사용하여 변수를 변화 시킬 수 있게 구현하는 것?
