일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- database
- simulation
- array
- Math
- Binary Tree
- 구현
- 코테
- 파이썬
- SQL
- Data Structure
- Method
- implement
- string
- geometry
- Tree
- sorting
- java
- Counting
- greedy
- bit manipulation
- Number Theory
- Class
- hash table
- Matrix
- Stack
- 자바
- dynamic programming
- 코딩테스트
- Binary Search
- two pointers
- Today
- Total
목록Casting (3)
코린이의 소소한 공부노트
[지네릭 타입의 형변환] 1. 지네릭 타입과 원시 타입 간의 형변환은 바람직하지 않다. Box box = null; Box objBox = null; Box strBox = null; box = (Box)objBox; // OK. 지네릭 -> 원시. 경고 발생 objBox = (Box)box; // OK. 원시 -> 지네릭. 경고 발생 box.add(new Integer(100)); // OK. box가 원시타입이기 때문에 경고만 발생함 2. 서로 다른 지네릭 타입으로는 형변환이 되지 않는다. objBox = (Box)strBox; // 에러. Box -X-> Box strBox = (Box)objBox; // 에러. Box -X-> Box 3. 와일드카드가 사용된 지네릭 타입으로는 형변환이 가능하다. ..
참조변수의 형변환은 조상-자손 관계일 때 가능하다. 참조변수의 형변환을 하는 이유는 사용 가능한 멤버의 개수를 조절하기 위해서다. 형변환을 이용한 어떤 기능을 만든다고 할 때, 프로그램 내의 모든 클래스들의 관계를 내가 다 알고 있지 않은 이상 형변환이 가능한지 꼭 확인해 볼 필요가 있다. 그럴 때 이용하는 연산자가 instanceof이다. 연산자 치고 이름이 길다. instanceof 연산자는 - 참조변수의 형변환 가능 여부를 확인할 때 사용한다. - 피연산자가 2개인 이항 연산자다. -> 객체 instanceof 클래스 - 형변환이 가능하다면 true를, 불가능하다면 false를 반환한다. - 형변환 전에 꼭 사용해보는 것이 좋다. 객체와 클래스의 관계에 따라 어떤 반환 결과를 주는지 확인해보자. P..
참조변수의 형변환은 - 사용할 수 있는 멤버의 개수를 조절하는 것으로, - 조상-자손 관계의 참조변수는 서로 형변환이 가능하다. class Parent { // 멤버 3개 } class Child1 extends Parent { // 멤버 2개 } class Child2 extends Parent { // 멤버 1개 } // 메인 내부에서.. Child1 c1 = new Child1(); Parent 클래스를 상속받은 2개의 클래스 Child1, Child2가 있다. 메인에서 Child1 타입의 객체 c1을 생성 후, 어떨 때 참조변수의 형변환이 가능한지 확인해보자. * 먼저 기억해내야 할 것: 범위가 작은 것 -> 큰 것은 캐스팅이 필요 없지만, 반대 상황에서는 필요하다 int i = 1; double..