자바칩
[F-Lab] 1주차 멘토링 본문
자바 버전 체계에 대해서 알고 있는가?
자바 8이나 17을 많이 쓰는데 이유에 대해서 알고 있는가?
- 버전은 자바를 쓰는 입장에서는 어떤 버전을 쓰는지는 좀 중요하다. 왜냐하면 버전에 따라 기능이 다르기도 하고 무엇보다 릴리즈 하는 쪽에서 이 버전에 따라서 유지보수 기간이 달라진다. 그래서 가능하면 이 버전 관련된 개념에 대해서는 알아두는 것이 좋다. 가끔 면접이 됐든 뭐가 됐든 보인이 해본 기술이라고 이제 이야기를 하면 왜 그걸 썼는지를 당연히 궁금하니까 물어본다. 그래서 지금 같은 경우 17을 썼다고 하면 왜 17을 쓰셨나요 라고 물어볼 수 있기 때문에 그럴 때 일단은 내가 쓰는 기술이 어떤 버전 관리를 하고 있고 어떤 기능들이 거기에 포함돼 있는지는 알고 쓰는게 좋다. 이 부분에 대해서 한번 보고 다음에 한번 또 물어보겠다.
대부분 신입들한테 많이 물어보는게 클래스가 뭐냐 상태가 뭐냐 이런 것을 물어본다.
클래스와 상태는 무엇인가?
- 상태라고 하는 개념은 변수 하나가 가지고 있는 게 아니라 이 변수들의 조합이 어떤 하나의 객체에 대한 상태를 표현하는 애기 때문에 변수 하나가 상태 하나는 아니다.
- 클래스 안에 변수가 여러개 있으면 얘들의 조합이 그 클래스의 상태를 만들어주게 된다. 이 개념이 되게 중요하다.
- 변수가 많으면 상태가 많아서 복잡하다. 그래서 어떤 일을 하는 클래스인지 알기가 어렵다. 우리는 보통 인간이니까 기본적으로 뭔가가 복잡하면 이해하기가 어렵다. 그래서 최대한 단순화하고 필요한 애들만 있어야 한다.
- 상태가 뭔가 잘못 설정되는 순간 우리가 의도하지 않은 행동을 만들 수도 있으니 상태가 버그를 유발한다.
상태를 어떻게 바꾸는가?
- 상태는 더 추상화된 것이다. 방금 말한 것은 변수를 바꾸는 것이다. 변수는 얘를 나타내는 어떤 데이터일 뿐이다.
- 클래스 내에 있는 변수들 그리고 클래스의 상태는 반드시 외부에서 호출할 수 있는 행위를 통해서만 바꿀 수 있어야 한다. 그러니까 엄밀히 얘기하면 사물이나 인간 사물이랑 다 똑같다. 행위를 통해서 객체의 상태를 바꾸는 것이다. 이것이 객체 지향의 기본 원리이다.
'F-Lab' 카테고리의 다른 글
[F-Lab] Java Backend 멘토링 2개월 후기 (1) | 2024.07.27 |
---|---|
[F-Lab] 3주차 멘토링 (2) | 2024.06.02 |
[F-Lab] 2주차 멘토링 (2) | 2024.06.02 |