public class Person {
String name;
float height;
float weight;
}
public class PersonTest {
public static void main(String[] args) {
Person personLee = new Person(); //생성자
}
public class Person {
String name;
float height;
float weight;
public Person() {} // 디폴트 생성자
}
public class Person {
String name;
float height;
float weight;
public Person() {} // 디폴트 생성자
public Person(String pname) {
name = pname;
}
}
pname
을 받지 않으면 디폴트 생성자
Person person = new Person();
pname
을 받으면 Person(String pname)
Person person = new Person("박철진");
public class Subject {
String subjectName;
int scorePoint;
}
public class Student {
int studentId;
String studentName;
// Subject 형을 사용하여 선언
Subject korean;
Subject math;
}
subjectName
, scorePoint
를 사용할 수 있음String
도 대표적은 참조 자료형접근제어자 | 설명 |
---|---|
public | 외부 클래스 어디에서나 접근 가능 |
protected | 같은 패키지 내부와 상속 관계의 클래스에서만 접근 가능 |
아무것도 없는 경우 | default이며 같은 패키지 내부에서만 접근 가능 |
public | 같은 클래스 내부에서만 접근 가능 |
public class Student {
int studentId;
private String studentName;
int grade;
String address;
public String getStudetName() {
return studentName;
}
public void setStudetName(String studentName) {
this.studentName = studentName;
}
}
public class StudentTest {
public static void main(String[] args) {
Student student = new Student();
//student.studentName = "박철진";
//setStudentName() 메서드를 활용해 private 변수에 접근 가능
student.setStudentName("박철진");
System.out.println(student.getStudentName()); // 박철진
}
}
Student 클래스의 studentName
이 private
이므로 외부에서 클래스에서 접근 할 수 없음
student.studentName = "박철진";
은 오류 발생setStudentName
메서드를 통해서 멤버 변수로 접근해서 값 설정
getStudentName
메서드를 통해서 멤버 변수로 studentName
에 접근