상속이란? 부모 클래스의 필드와 메소드를 자식 클래스에서 물려 받아 사용하는 것 public class 자식 extends 부모{ } super() super()는 부모클래스의 생성자를 호출 자식 클래스의 생성자 가장 처음에 super()가 숨어있음 만약 매개변수가 있는 super(매개변수)를 만들면 매개변수가 없는 super()는 없어짐 --생성자에서 확인해야할 것 부모 클래스의 생성자와 자식 클래스의 super()의 매개변수를 맞춰줘야함. 즉, 부모클래스가 매개변수가 있는 생성자만 있을 경우, 자식 클래스에도 super(매개변수) 맞춰줘야함. 부모 필드와 함수 접근 super.필드명 super.함수() this() 자신의 생성자를 호출
인스턴스(Instance) 멤버 : 객제가 생성되어야만 사용 가능한 필드, 메소드 ex) Car myCar = new Car(); myCar.run(); 정적(Static) 멤버 : 객체 생성 없이 사용 가능한 필드, 메소드 static 멤버 접근 클래스명.필드 클래스명.함수() ex) Math.random() : Math 클래스의 static메소드인 random()을 호출 Static 멤버의 초기화 : static 변수는 생성자에서 초기화 하지 않고 static{}을 따로 만들어줌 Staticc 멤버의 특징 : 메모리에서 가장 먼저 읽어들이기 때문에 Static 메소드 안에 인스턴스 멤버는 읽어들이지 못함
접근 제한자란? : 클래스, 멤버변수, 메소드 등의 사용 가능 범위를 지정 private : 선언된 클래스 내에서만 직접 접근 가능 private로 지정할 경우 메인 메소드에서 객체를 생성하여 필드에 값을 넣을 때 직접 접근을 불가능하게 만들어줍니다. (setter로 값을 변경해주는 것이 좋습니다.) protected : 해당 클래스와 해당 클래스를 상속한 클래스 내에서만 접근 가능 default : 같은 패키지 내에서 접근 가능 기본 값이기 때문에 따로 default라고 쓰지 않음 public : 같은 프로젝트 내에서 접근 가능 결론! 멤버변수 -> private 메소드 -> public 을 넣으세요! (참고로, 클래스는 public, default만 가능하며 public은 파일명과 동일한 하나의 클래..