모든 프로그래밍 언어는 값에 대해서 연산을 취해서 다른 값(결과)를 얻게 된다. 파이썬에서도 사칙연산 같은 숫자에 적용되는 산술 연산과 참 거짓을 받아 참 거짓을 반환하는 논리 연산, 그리고 비교 연산이 있다. 논리 연산은 조건식에 사용되는 진위형 값을 돌려주고 비교 연산도 참 거짓을 반환한다. 비교는 비교 가능한 타입 끼리만 연산을 취할 수 있다. 예를 들어 ('3' < 5)와 같은 수식은 문자열과 숫자를 비교할 수 없으므로 타입 오류가 나게 된다. 산술연산에는 사칙연산과 나머지(%) 연산이 있다. 파이썬의 특징이라면 그냥 나누기 연산 /은 항상 실수를 돌려주고 정수 나누기 연산 //은 내림을 한 정수 결과를 돌려준다. 정수형은 자바 언어와 달리 자리수의 제약이 없어서 오버플로우가 발생하지 않는다는 점..
Integer나 Double 클래스가 가끔 코드에 등장한다. 이들은 기본 타입인 int나 double에 대응하는 래핑(wrapping) 클래스 타입이다. 이런 타입을 많이 접하는 것이 ArrayList와 같이 콜렉션 객체를 선언할 때이다. 이 클래스들이 왜 필요할까? 앞의 포스트에서 값 변수와 참조 변수에 대해 살펴보았다. 자바에서 변수는 값 모델(즉 변수가 직접 값을 가지는 형태)과 참조 모델(변수는 객체의 참조를 가짐. 객체는 힙 메모리의 어딘가에 존재한다)로 나눈다. int와 double은 기본타입으로 값모델을 가지는데, 그 경우 int n;이라고 선언하면 n이 나타내는 주소(위치)에 int 값이 저장된다. 이 때 n은 값을 나타내기도 하고 저장소를 나타내기도 한다. 이것을 값모델이라고 한다. 반면..
자바에서는 메소드 내에서 자신의 필드나 메소드를 접근할 때 별도의 객체. 을 붙이지 않고 바로 이름을 쓴다. 이클립스 같은 개발환경에서는 this. 이라고 하면 이 객체가 가진 필드와 메소드를 툴팁으로 보여주고 자동완성해 주기도 한다. 그러나 this 를 붙이지 않고 쓰면 어떤 이름에 해당하는지를 다음과 같은 규칙으로 결정한다.그 이름이 사용된 위치에서 속한 메소드의 지역변수나 매개변수에 해당 이름이 있으면 그것으로 본다.없으면 this의 필드에서 찾는다. 이 때 static 필드와 일반 필드에서 모두 찾는다.그래도 없으면 undefined identifier라는 컴파일 오류가 발생한다.여기서 첫번째 this의 용법이 나온다. 즉 지역변수의 이름이 필드의 이름(예를 들어 name이라고 하자)과 같은 경우..
- Total
- Today
- Yesterday
- Lazy evaluation
- Iterator
- max
- python example
- APPEND
- format
- TypeError
- 콜렉션
- 스트링 +
- sort key
- comparable
- python exercise
- rust
- follow
- 동적바인딩
- CompareTo
- typedef
- 스트링
- ToString
- contentEquals
- Camel Style
- 지연계산
- 자바regex
- 이터러블
- C++ 클래스
- 패턴
- indexof
- zip
- contains
- 이터레이터
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |