메소드, 변수 접근 제어자 같은 클래스 같은 패키지 (다른 클래스) 다른 패키지 다른 패키지 상속 관계 O 다른 패키지 상속관계 X public O O O O O protected O O X O X default (또는 명시 X) O O X X X private O X X X X protected 예제 package1 package package1; class ExamplePackage1 { protected void methodProtected() { System.out.println("methodProtected"); } } package2 - ExamplePackage1을 상속받지 않았기 때문에 사용 불가능 package package2; import package1.ExamplePackage1; ..
기본 생성자 (코드를 입력하지 않아도 자동으로 생성됨) class Person { public Person() {} } 만든 생성자 (매개변수를 명시한 만든 생성자만 있을 경우 기본 생성자를 사용할 수 없음) public class Person { String name; int age; public Person(String name, int age) { this.name = name; this.age = age; } public static void main(String[] ages) { // Person person = new Person(); // 기본 생성자를 따로 명시하지 않았으므로 오류 Person person2 = new Person("이름", 25); // 인스턴스 생성시 인자가 있어야 함 ..
객체 : 객체 지향 프로그램의 대상, 생성된 인스턴스 클래스 : 객체를 프로그래밍 하기위해 코드로 정의해 놓은 상태 (설계도 역할) 인스턴스 : new 키워드를 사용하여 클래스를 메모리에 생성한 상태 (설계도를 실제 사용) - 클래스 기반으로 여러개의 인스턴스 생성이 가능 - new 키워드로 인스턴스를 생성할때 메모리 할당을 함 = 동적 메모리(heep memory) 멤버 변수 : 클래스의 속성, 특성 메서드 : 멤버 변수를 이용하여 클래스의 기능을 구현한 함수 (객체의 기능) 참조 변수 : 메모리에 생성된 인스턴스를 가리키는 변수 참조 값 : 생성된 인스턴스의 메모리 주소 값 Student.java public class Student { // 멤버 변수 int studentID; String stud..