Skip to content

Commit

Permalink
첨삭
Browse files Browse the repository at this point in the history
  • Loading branch information
jojoldu committed Aug 26, 2024
1 parent 43d5612 commit c71221c
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions posts/TS를_만나고/1_getter_setter/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,17 +108,18 @@ class Course(private var _price: Int) {
val coursePrice = course.price
```

(코틀린과 자바를 굳이 다른 생태계라고 구분하지는 않지만)
이런 개념이 요즘의 모던한 언어들에게는 기본적으로 내장되어있다.

Java를 처음 배우는 입장에서는 "public 필드를 사용하면 안되고, private 필드를 사용하고 이에 대한 접근자를 무조건 생성해야한다" 를 배워야만 했다.
이걸 그나마 편하게 하기 위해 Lombok 라이브러리 등의 도입도 알아야만 한다.
만약 이 모든걸 무시하고 단순히 public 필드를 사용하면 이후에 큰 비용을 지불하게 된다.
만약 이 모든걸 무시하고 처음 배운 클래스에서 단순히 public 필드를 사용하면 이후에 큰 비용을 지불하게 된다.

반면, JS,TS, Kotlin 등의 언어를 배우는 입장에서는 이런 것이 고민 거리이자 배워야할 내용이 되지 않는다.
반면, **JS, TS, Kotlin 등의 언어를 배우는 입장에서는 이런 것이 고민 거리이자 배워야할 내용이 되지 않는다**.
public 필드를 사용하는 것과 접근자를 통한 접근이 모두 **동일한 인터페이스를 지원하기 때문에 내가 알게되는 지식이 늘어난다고해서 기존의 코드들이 전체 교체 될 일은 거의 없다**.
즉, 프로그래밍을 배우고 사용할때 중요한 고민거리가 하나 없어지게 되는 셈이다.

추가적으로 이런 사례는 **좋은 디자인이 가지는 힘이 얼마나 대단한지 언어 레벨에서 지원한다** 라는 의미로 다가왔다.
이런 사례는 **언어 레벨에서 좋은 디자인 인터페이스를 지원한다** 라는 의미로 다가왔다.

처음 클래스를 배울때 단순하게 public으로 모든 필드를 선언하고 코드를 작성하더라도 이후에 **접근자 (accessor) 개념을 배우고 클래스 코드를 변경하더라도 기존 호출자 코드에 변경이 필요하지 않는다**는 것을 초보 개발자들에게 알려줄 수 있는 셈이다.

Expand Down

0 comments on commit c71221c

Please sign in to comment.