Objects and behavior, Rust vs. C#
프로그래밍 언어인 Rust와 C#을 OOP 관점에서 비교해 보았다. Rust는 OOP라기보다는 모듈/함수 지향형 프로그래밍 언어라고 보는 게 더 합당하다고 생각한다. What does “Rust & OOP” mean to you?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
struct Door {
is_open: bool,
}
trait Openable {
fn new(is_open: bool) -> Door;
fn open(&mut self);
fn foo1(txt: &str);
fn foo2(&mut self);
}
impl Openable for Door {
fn new(is_open: bool) -> Door {
Door { is_open: is_open }
}
fn open(&mut self) {
self.is_open = true;
}
fn foo1(txt: &str) {
println!("{} {}", "Print foo ...", txt);
}
fn foo2(&mut self) {
Self::foo1("2");
}
}
fn main() {
let mut door = Door::new(false);
println!("{}", if door.is_open { "참" } else { "거짓" });
door.open();
println!("{}", if door.is_open { "참" } else { "거짓" });
Door::foo1("1");
door.foo2();
}