public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
public void setExamGrade(char examGrade) {
this.examGrade = examGrade;
}
public int getExamGrade() {
return examGrade;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
딱봐도 이렇게 하면 코드가 길어지는데, null값이 올 수 있는 것만 따로 set 함수 만들고
Student(String name,int examGrade,int age)
{
this.name=name;
this.examGrade=examGrade;
this.age=age;
}
null 값이 안 오는 건 이렇게 생성자로 생성하면 안됨?
어떻게 보면 set이랑 생성자를 따로 둬서 볼 때는 오히려 가독성 안 좋게 느껴질 수도 있는데
다른 방식으로 보면 null 값이 올 수 있는 것만 set으로 둬서 오히려 가독성이 좋아 보이기도 하는데(만약 어떤 값이 NULL인지는 db만 봐도 추론가능하지만, 때로는 내부적으로 null을
설정할지 말지 애매한 것도 존재하잖음)
실제로 이렇게 쓰는지 안쓰는지는 모르겠는데 궁금해서 물어봄
null 값이 올 수 있는건 -> setter id같이 Null값이 들어올 수 없는건 생성자로 생성한다는 말임.. 애초에 생성자+getter를 쓰면 왜 안되는지에 대한 의문도 있음..
시간 지난 나중에 생성자+getter를 왜 쓰면 안되는지 같은 거나 개인 생각 올려두시면 나중에라도 읽어 볼테니 써주시면 감사하겠습니다..
ㅇ
그게 몬 말임? 써도 되요?
오히려 세터 사용은 최대한 지양하는게 좋음
세터 사용을 지양해야되는 이유는 따로 있어요?
어디선가 지 좆대로 쓰여서 예기치 못한 문제를 일으킬 수 있으니까
제 생각엔 setter 사용자를 지양해야하는 이유가 db에 null이 안오는 값인데 코드 짤 떄 실수가 발생할 가능성이 있어서 라고 생각하는데,
그럼 null 값이 올 수도 있는건 setter로 쓰는건 어떻게 생각함?
그거랑은 별로 상관은 없는거 같은데 어차피 아무것도 안넣으면 기본값이 null이고 생성자에 파라미터로 null을 안넣는다는 보장도 없고
확실히 이해가 된 것 같습니다.. 현업가면 맞추되,지금 코딩할 떄는 자유로 해도 되겠네요
정작 현업가면 무지성 게터 세터 보게 될 확률이 높음 ㅋㅋ
지금 생각해보니 위의 경우에는 코딩 짤 때 런타임 같은 큰 에러는 안나오겠지만, 짤 때 실수가 나올 가능성이 생기겠네요..(setter로 값을 받기 때문) 그래도 읽기는 편한 것 같으니, 윗쪽 방식으로 짜보되, 현업에 맞추겠습니다
좋은 답변 감사드립니다