배정문
- 프로그램의 가장 기본적인 문장
- R-value : Expression
- Arithmetic Expressions (산술표현식)
Operator 종류
- 피연산자의 개수 : unary(1), binary(2), ternary(3)
- 연산자의 위치 : prefix(전위 연산), inifx(중위 연산), postfix(후위 연산)
- 대부분 infix , Perl 에서는 prefix
- 연산자 우선순위 : 좌결합, 우결합
- 보통 수학적 우선순위와 동일하다.
- 언어 설계에 따라서 다르다.
Ruby Expression
- pure object-oriented language : Ruby, Smalltalk
- 모든 데이터가 객체 : literal 포함
- C 언어 기반에 산술, 논리 연산 모두 지원
- C언어와 다른점 : 모두 method로 구현되어 있다.
- arithmetic, relational, assignment operators, array indexing, shifts
Lisp Expression
- 함수 언어 : Lisp , Toy
- prefix → ( 함수 연산자 피연산자 )
- 모두 method 로 구현되어 있다.
Side Effect
: 함수에서 자신의 변수 이외의 값을 변경시켰을 때
- call by reference : parameter 로 들어온 것을 변경
- global variable
→ 이러한 문제를 해결하기 위해서 객체지향 언어를 발명했다.
Overloaded Operator
- 연산자가 여러 기능을 수행한다. (일반적으로 가능)
- 함수의 overloaded : 같은 이름의 함수가 여러개 존재
Type Conversion