
내코드
- 같은 package안에 2개의 파일을 만든다.
- Subject, SubjectExample
[Subject]여기에다가 사용할 멤버 변수들 및
set, get을 만들어 놓는다.
마지막 static final은 변하지 않는 변수 이기에 final로써 고정으로 만들어 줬다.
setter부분 설명public void set+멤버변수이름(속성 멤버변수명)으로 넣어준다.
this.Name으로 한 이유는 위에 멤버 변수의 Name을 스스로 가져오면서 Name이라는 것과 같지 않다는 것을 알려주기 위해 넣었다.
this의 경우 현재 그렇게 복잡하지 않기때문에 넣어줬다.
getter부분 설명public 속성 get+멤버 변수명(){ return 리턴받을 변수=set에 있는 변수이디}
package Self_Class;
public class Subject {
// 멤버 변수 정의
private String Name;
private String Java;
private String Python;
private String Javascript;
private boolean Graduate;
static final String Program = "네이버클라우드";
//setter 메서드
public void setName(String Name) {
this.Name=Name;
}
public void setJava(String Java) {
this.Java=Java;
}
public void setPython(String Python) {
this.Python=Python;
}
public void setJavascript(String Javascript) {
this.Javascript=Javascript;
}
public void setGraduate(boolean Graduate) {
this.Graduate=Graduate;
}
//getter 메서드
public String getName() {
return Name;
}
public String getJava() {
return Java;
}
public String getPython() {
return Python;
}
public String getJavascript() {
return Javascript;
}
public boolean getGraduate() {
return Graduate;
}
}
[SubjectExample]여기서 항상 Subject 클래스를 사용하기 위해서는 new Subject로 새로 생성해주어야 한다.
전달 받은 내용들은 set멤버변수("내용");으로 넣어준다.
boolean인 graduate는 true, false만 넣어주면 된다.
package Self_Class;
public class SubjectExample {
public static void main(String[] args) {
// TODO Auto-generated method stub
// sb1 홍길도 내용
// Subject.java의 클래스 멤버 변수를 가져오기 위해서 새로 생성한다.
Subject sb1 = new Subject();
//내용 넣기
sb1.setName("홍길동");
sb1.setJava("A");
sb1.setPython("A");
sb1.setJavascript("A");
sb1.setGraduate(false);
//반복 메소드를 불러서 위에 내용들을 넣은 값을 출력하게끔 한다.
SubjectExample.printInformation(sb1);
System.out.println("=".repeat(30));
Subject sb2 = new Subject();
sb2.setName("임꺽정");
sb2.setJava("C");
sb2.setPython("A+");
sb2.setJavascript("B");
sb2.setGraduate(true);
SubjectExample.printInformation(sb2);
System.out.println("=".repeat(30));
}
// 반복 사용해야하는 내용을 넣은 메소드를 만들어 준다.
public static void printInformation(Subject s) {
System.out.println("이름 : "+s.getName());
System.out.println("Java 학점 : "+s.getJava());
System.out.println("Python 학점 : "+s.getPython());
System.out.println("Javascript : "+s.getJavascript());
System.out.println("졸업 여부 : "+s.getGraduate());
System.out.println("프로그램명 : "+Subject.Program);
}
}
이 부분은 반드시 main함수 안이 아닌 바깥에 개별적으로 만들어야지 사용할 수 있다.
Subject 클래스를 s라 칭했다.
따로 반복할 내용들을 get으로 가져온다.
마지막 프로그램은 static final로 정의 되어있기에 Subject클래스에서 Program이라고 넣어주면 자동 적으로 해당 내용을 출력하게 된다.
// 반복 사용해야하는 내용을 넣은 메소드를 만들어 준다.
public static void printInformation(Subject s) {
System.out.println("이름 : "+s.getName());
System.out.println("Java 학점 : "+s.getJava());
System.out.println("Python 학점 : "+s.getPython());
System.out.println("Javascript : "+s.getJavascript());
System.out.println("졸업 여부 : "+s.getGraduate());
System.out.println("프로그램명 : "+Subject.Program);
}

그래도 조금 class가 이해가 되기 시작하면서 잘 사용할 수 있을거 같다.
설명도 적어가면서 해야지 내 자신한테도 이해가 잘 될 수 있기 때문에 설명도 열심히 적어보자.