Skip to content

Commit 3c1f315

Browse files
SeokHyeonChinbumkeyydvlprshguyeol
authored
ts for oopers Types as Sets까지 번역 issue#113 (#153)
* ts for oopers Types as Sets까지 번역 issue#113 * Update pages/tutorials/ts-for-oopers.md 넵 감사합니다! Co-authored-by: Kibeom Kwon <[email protected]> * Update pages/tutorials/ts-for-oopers.md 넵 알겠습니다! Co-authored-by: Kibeom Kwon <[email protected]> * Update pages/tutorials/ts-for-oopers.md 넵 알겠습니다! Co-authored-by: Kibeom Kwon <[email protected]> * Update pages/tutorials/ts-for-oopers.md 넵 알겠습니다! Co-authored-by: Kibeom Kwon <[email protected]> * Update pages/tutorials/ts-for-oopers.md 감사합니다! Co-authored-by: Kibeom Kwon <[email protected]> * Update pages/tutorials/ts-for-oopers.md 넵 알겠습니다! Co-authored-by: Kibeom Kwon <[email protected]> * Update pages/tutorials/ts-for-oopers.md 넵 알겠습니다! Co-authored-by: Kibeom Kwon <[email protected]> * Update pages/tutorials/ts-for-oopers.md 넵 알겠습니다! Co-authored-by: Kibeom Kwon <[email protected]> * Update pages/tutorials/ts-for-oopers.md 넵 감사합니다! Co-authored-by: Kibeom Kwon <[email protected]> * Update pages/tutorials/ts-for-oopers.md 넵 감사합니다! Co-authored-by: Kibeom Kwon <[email protected]> * Update pages/tutorials/ts-for-oopers.md 넵 감사합니다! Co-authored-by: Kibeom Kwon <[email protected]> * Update ts-for-oopers.md * Update pages/tutorials/ts-for-oopers.md 넵 감사합니다! Co-authored-by: Kibeom Kwon <[email protected]> * Update pages/tutorials/ts-for-oopers.md 넵 감사합니다! Co-authored-by: Seohee Park <[email protected]> * Update pages/tutorials/ts-for-oopers.md 네. 제안이 좋은거 같아서 변경하겠습니다! Co-authored-by: Seohee Park <[email protected]> * Update pages/tutorials/ts-for-oopers.md 넵 감사합니다! Co-authored-by: Seohee Park <[email protected]> * Update pages/tutorials/ts-for-oopers.md 아 이 부분은 완전 해석을 잘못해버렸네요 ㅠㅠ 잘 확인하겠습니다! Co-authored-by: Seohee Park <[email protected]> * Update pages/tutorials/ts-for-oopers.md 넵 감사합니다! Co-authored-by: Seohee Park <[email protected]> * Update pages/tutorials/ts-for-oopers.md 넵 감사합니다! Co-authored-by: Seohee Park <[email protected]> * Update pages/tutorials/ts-for-oopers.md 넵 감사합니다! Co-authored-by: Seohee Park <[email protected]> * Update pages/tutorials/ts-for-oopers.md 넵 감사합니다! Co-authored-by: GuyeolJeong <[email protected]> * Update ts-for-oopers.md Co-authored-by: Kibeom Kwon <[email protected]> Co-authored-by: Seohee Park <[email protected]> Co-authored-by: GuyeolJeong <[email protected]>
1 parent 0e34374 commit 3c1f315

File tree

1 file changed

+35
-35
lines changed

1 file changed

+35
-35
lines changed

pages/tutorials/ts-for-oopers.md

+35-35
Original file line numberDiff line numberDiff line change
@@ -19,62 +19,62 @@ TypeScript 모델이 유형화하는 방법 중 일부는 Java나 C#과 상당
1919
만약 JavaScript를 처음 접하는 Java나 C# 프로그래머라면, JavaScript의 런타임 동작을 이해하기 위해 우선적으로 타입을 _제외한_ JavaScript의 일부분을 배우는 것이 좋습니다.
2020
TypeScript는 코드를 _실행하는_ 방식을 바꾸지 않기 때문에, 실제로 무언가 동작하는 코드를 작성하기 위해서는 여전히 JavaScript가 어떻게 작동하는지 배워야 합니다!
2121

22-
TypeScript가 JavaScript와 동일한 _런타임_을 사용하므로, 특정한 런타임 동작(문자열을 숫자로 변환하기, 경고 표시, 디스크에 파일 쓰기 등)을 구현하려는 리소스는 항상 TypeScript 프로그램에 똑같이 잘 적용된다는 점을 기억하는 것은 매우 중요합니다.
22+
TypeScript가 JavaScript와 동일한 *런타임* 사용하므로, 특정한 런타임 동작(문자열을 숫자로 변환하기, 경고 표시, 디스크에 파일 쓰기 등)을 구현하려는 리소스는 항상 TypeScript 프로그램에 똑같이 잘 적용된다는 점을 기억하는 것은 매우 중요합니다.
2323
TypeScript에 특정된 리소스에만 제한을 두지 마십시오!
2424

25-
## Rethinking the Class
25+
## 클래스 다시 생각하기 (Rethinking the Class)
2626

27-
C# and Java are what we might call _mandatory OOP_ languages.
28-
In these languages, the _class_ is the basic unit of code organization, and also the basic container of all data _and_ behavior at runtime.
29-
Forcing all functionality and data to be held in classes can be a good domain model for some problems, but not every domain _needs_ to be represented this way.
27+
C#과 Java는 _의무적 OOP_ 언어라고 부릅니다.
28+
이러한 언어에서 *클래스*는 코드 구성의 기본 단위일 뿐만 아니라 런타임 시 모든 데이터 _그리고_ 동작의 기본적인 컨테이너입니다.
29+
기능과 데이터를 전부 클래스에 담도록 강제하는 것은 일부 문제에 대해선 좋은 도메인 모델이 될 수 있지만, 모든 도메인이 이러한 방식으로 표현될 *필요*는 없습니다.
3030

31-
### Free Functions and Data
31+
### 자유로운 함수와 데이터 (Free Functions and Data)
3232

33-
In JavaScript, functions can live anywhere, and data can be passed around freely without being inside a pre-defined `class` or `struct`.
34-
This flexibility is extremely powerful.
35-
"Free" functions (those not associated with a class) working over data without an implied OOP hierarchy tends to be the preferred model for writing programs in JavaScript.
33+
JavaScript에서 함수는 어디에나 있을 수 있고, 데이터를 미리 정의된 ‘class’나 ‘struct’에 속하지 않고 자유롭게 전달할 수 있습니다.
34+
이러한 유연성은 매우 강력합니다.
35+
OOP 계층과 상관 없이 데이터를 처리하는 “자유로운” (클래스와 연관되지 않은) 함수는 프로그램을 JavaScript로 작성하는 모델로 선호됩니다.
3636

37-
### Static Classes
37+
### 정적 클래스 (Static Classes)
3838

39-
Additionally, certain constructs from C# and Java such as singletons and static classes are unnecessary in TypeScript.
39+
추가적으로, C#과 Java의 싱글턴과 정적 클래스 같은 특정 구조는 TypeScript에서 필요하지 않습니다.
4040

41-
## OOP in TypeScript
41+
## TypeScript의 OOP (OOP in TypeScript)
4242

43-
That said, you can still use classes if you like!
44-
Some problems are well-suited to being solved by a traditional OOP hierarchy, and TypeScript's support for JavaScript classes will make these models even more powerful.
45-
TypeScript supports many common patterns such as implementing interfaces, inheritance, and static methods.
43+
즉, 원한다면 계속 클래스를 사용해도 됩니다!
44+
일부 문제는 기존의 OOP 계층으로 해결하기 적합하며, TypeScript가 JavaScript의 클래스를 지원하므로 이러한 모델을 더 효과적으로 만듭니다.
45+
TypeScript는 인터페이스, 상속, 정적 메서드 구현과 같은 많은 일반적인 패턴을 지원합니다.
4646

47-
We'll cover classes later in this guide.
47+
우리는 이 가이드의 뒷부분에서 클래스를 다룰 것입니다.
4848

49-
## Rethinking Types
49+
## 타입 다시 생각하기 (Rethinking Types)
5050

51-
TypeScript's understanding of a _type_ is actually quite different from C# or Java's.
52-
Let's explore some differences.
51+
TypeScript의 *타입*에 대한 이해는 사실 C#이나 Java와 상당히 다릅니다.
52+
몇 가지 차이점을 살펴봅시다.
5353

54-
### Nominal Reified Type Systems
54+
### 이름으로 구체화된 타입 시스템 (Nominal Reified Type Systems)
5555

56-
In C# or Java, any given value or object has one exact type - either `null`, a primitive, or a known class type.
57-
We can call methods like `value.GetType()` or `value.getClass()` to query the exact type at runtime.
58-
The definition of this type will reside in a class somewhere with some name, and we can't use two classes with similar shapes in lieu of each other unless there's an explicit inheritance relationship or commonly-implemented interface.
56+
C#과 Java에서 주어진 값과 객체는 ‘null’, 원시 타입, 또는 정의된 클래스 타입 중 정확하게 하나의 타입을 가집니다.
57+
런타임 시점에서 정확한 타입을 묻기 위해 `value.GetType()` 또는 `value.getClass()`와 같은 메서드를 호출할 수 있습니다.
58+
이러한 타입의 정의는 특정한 이름을 갖고 클래스의 어딘가 존재하며, 명시적인 상속관계나 공통적으로 구현된 인터페이스가 없는 이상 두 클래스가 유사한 형태를 가졌다 해도 서로 대체하여 사용할 수 없습니다.
5959

60-
These aspects describe a _reified, nominal_ type system.
61-
The types we wrote in the code are present at runtime, and the types are related via their declarations, not their structures.
60+
이러한 양상은 *reified, nominal* 타입 시스템을 설명합니다.
61+
코드에서 사용한 타입은 런타임 시점에 존재하며, 타입은 구조가 아닌 선언을 통해 연관 지어집니다.
6262

63-
### Types as Sets
63+
### 집합으로서의 타입 (Types as Sets)
6464

65-
In C# or Java, it's meaningful to think of a one-to-one correspondence between runtime types and their compile-time declarations.
65+
C# 또는 Java에서 런타임 타입과 해당 컴파일 타임 선언 사이의 일대일 대응관계는 중요합니다.
6666

67-
In TypeScript, it's better to think of a type as a _set of values_ that share something in common.
68-
Because types are just sets, a particular value can belong to _many_ sets at the same time.
67+
TypeScript에서 타입은 공통의 무언가를 공유하는 *값의 집합*으로 생각하는 것이 좋습니다.
68+
타입은 집합에 불과하기 때문에, 특정한 값은 동시에 _수많은_ 집합에 속할 수 있습니다.
6969

70-
Once you start thinking of types as sets, certain operations become very natural.
71-
For example, in C#, it's awkward to pass around a value that is _either_ a `string` or `int`, because there isn't a single type that represents this sort of value.
70+
일단 타입을 집합으로 생각하기 시작하면, 특정 연산이 매우 자연스러워집니다.
71+
예를 들어, C#에서는 ‘string’과 ‘int*둘 다 가능한* 타입이 존재하지 않기 때문에 이 값을 인자로 전달하는 것은 이상합니다.
7272

73-
In TypeScript, this becomes very natural once you realize that every type is just a set.
74-
How do you describe a value that either belongs in the `string` set or the `number` set?
75-
It simply belongs to the _union_ of those sets: `string | number`.
73+
TypeScript에서 모든 타입이 단순히 집합이라는 것을 깨닫는 순간 이는 매우 자연스러워집니다.
74+
‘string’ 집합 또는 ‘number’ 집합에 속할 수 있는 값을 어떻게 설명하시겠습니까?
75+
이 값은 단순히 그 집합들의 *유니언*: ‘string | number’에 속합니다.
7676

77-
TypeScript provides a number of mechanisms to work with types in a set-theoretic way, and you'll find them more intuitive if you think of types as sets.
77+
TypeScript는 집합론에 의거해 타입을 이용하는 여러 방법을 제공하며, 타입을 집합으로 생각하는 것이 더 직관적입니다.
7878

7979
### Erased Structural Types
8080

0 commit comments

Comments
 (0)