클래스의 기본 개념부터 완전히 정립이 되질 않아서... 홀로 클래스를 차근차근 공부해 보기로 했다.
문제 1 - 다음을 만족하는 Student 클래스를 작성하시오.
· String형의 학과와 정수형의 학번을 필드로 선언
· Student 클래스의 main() 메소드에서 Student 객체를 생성하여 학과와 학번 필드에 적당한 값을 입력 후 출력
문제 - 2. 위에서 구현한 Student 클래스를 다음을 만족하도록 기능을 추가하여 작성하시오.
· 필드를 모두 private로 하고, getter와 setter를 구현하고
· Student 클래스의 main() 메소드에서 Student 객체를 생성하여 setter를 사용하여 학과와 학번 필드에 적당한 값을 입력 후 출력
위 문제에 대해서 한 번 만들어 본 코드
↓Student 클래스↓
public class Student {
private String major;
private int studentNum;
public Student(String major, int studentNum) {
this.major = major;
this.studentNum = studentNum;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
public int getStudentNum() {
return studentNum;
}
public void setStudentNum(int studentNum) {
this.studentNum = studentNum;
}
public void studentInfo(){
System.out.println("나의 전공은"+Major()+"이고 학번은"+StudentNum());
}
}
↓StudentMain클래스↓
public class StudentMain {
public static void main(String[] args) {
Student s1 = new Student("자바", 201212057);
s1.studentInfo();
System.out.println(s1.getMajor()+"짱~ 그리고 학번은??"+s1.getStudentNum());
s1.setMajor("컵퓨터공학");
s1.setStudentNum(1212057);
System.out.println(s1.getMajor() + s1.getStudentNum());
}
}
그리고 출력 결과
나의 전공은자바이고 학번은201212057
자바짱~ 그리고 학번은??201212057
컵퓨터공학1212057
계속 헷갈려 오던 부분
사실 생성자와 getter 등의 쓰임에 대해서 계속 헷갈려왔다.
언제 쓰는 거지.... 하는..
지금 위와 같은 코드에서는
Student 클래스의 객체인 major와 studentNum이 private로 선언되어있기 때문에 외부에서 쓰이려면 getter를 만들어줘야한다.
getMajor와 getStudentNum을 통해 StudentMain 클래스에서도 해당 객체들을 사용할 수 있게 되었다!
반응형
'코딩테스트 > 연습문제' 카테고리의 다른 글
java - 제너릭 와일드카드 연습코드 (0) | 2024.01.17 |
---|---|
자바 단위평가 오답노트 (0) | 2024.01.14 |
java 연습문제2 (0) | 2024.01.07 |