[접근제한자] [클래스식별자] class 클래스 이름
[접근제한자][식별자]자료형 변수명 [= 초기값]
[접근제한자][식별자][리턴타입][메소드명](매개변수1, 매개변수2, ...){
//body
//return [값];
}
외부에서 접근 가능한 멤버와 불가능한 멤버 구분하는 용도로 사용
클래스 ← public, default
필드, 메소드 ← public, protected, default, private
final : 종단 클래스, 더 이상 상속시킬 수 없는 클래스, 후손 만들 수 없다.
변수 선언: 상수
method 정의: 상속된다면 @Override 될 수 없다
class 정의
접근제한자
abstract : 추상(미완성된) 클래스, 상속을 이용해 후손 클래스가 부모의 미완성된 기능을 완성시킨다.
🚨 final과 private은 뭐가 다를까?
private은 자식이 호출할 수 없다.
final은 자식이 호출해서 사용할 수 있지만 값을 바꾸지 못하게 오버라이딩을 못하게 한다.public class Parent { public final void func(){ System.out.println("함수 만들음"); } } public class Child extends Parent { public void func(){ System.out.println("final 때문에 불가능"); } public void func(int a){ System.out.println("이거는 가능하다!"); } }