일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SUB Query
- react
- 리스트 모달창
- 모달창 여러개
- Java
- 다운캐스팅
- 스프링 모달창
- AOP란?
- static 예제
- 오라클 비교연산자
- 추상 메서드
- GROUP BY
- 사용자 데이터그램 프로토콜
- 깃 명령어
- 이클립스 오라클 연동
- Servlet 맵핑
- 싱클톤패턴
- 객체협력
- static메서드
- 형변환
- order by
- 상속
- singleton
- static
- spring annotation
- 템플릿
- 다중 모달창
- downcasting
- IP
- oracle 연동
- Today
- Total
목록Java (28)
모든지 기록하자!
상위 클래스로 형 변환되었던 하위 클래스를 다시 원래 자료형으로 형 변환하는 것을 다운 캐스팅(down casting) 이라고 한다. instanceof 상속관계를 보면 모든 인간은 동물이지만 모든 동물이 인간은 아니다. 따라서 다운 캐스팅을 하기 전에 상위 클래스로 형 변환된 인스턴스의 원래 자료형을 확인해야 변환할 때 오류를 막을 수 있다. 이것을 확인하는 예약어가 ' instanceof ' 다. Animal hAnimal = new Human(); if(hAnimal instanceof Human // hAnimal 인스턴스의 자료형이 Human형이라면 Human human = (Human)hAnimal;// 인스턴스 hAnimal을 Human형으로 다운캐스팅 } 참조 변수 hAnimal은 원래 H..
다형성이란? 다형성이란 하나의 코드가 여러 자료형으로 구현되어 실행되는 것을 말한다. 3개의 클래스가 Animal 클래스를 상속받는 경우를 보자 Animal 클래스에 메서드를 하나 정의하고 상속받은 클래스에서 재정의한다. class Animal{ public void move() { System.out.println("동물이 움직입니다."); } } class Human extends Animal{ public void move() { System.out.println("사람이 두발로 걷습니다."); } } class Tiger extends Animal{ public void move() { System.out.println("호랑이가 네발로 뜁니다."); } } class Eagle extends A..
상위 클래스 메서드 재정의하기 VIP 고객에게 제공하는 할인율과 세일 가격을 적용하자 Customer에 calcPrice() 메서드가 이미 정의되어 있다. VIP 고객은 정가에서 10% 할인받을 수 있기 때문에 그대로 calcPrice()를 사용하지 못한다. 이렇게 상위 클래스에서 정의한 메서드가 하위 클래스에서 구현할 내용과 맞지 않을 경우에 하위 클래스에서 메서드를 재정의 할 수 있다. 이를 메서드 오버 라이딩(overriding)이라고 한다. 오버 라이딩을 하려면 반환형, 메서드 이름, 매개변수 개수, 매개변수 자료형이 반드시 같아야 한다. 그렇지 않으면 컴파일러는 재정의한 메서드를 기존 메서드와 다른 메서드로 인식한다. public class VIPCustomer extends Customer{ ..
하위 클래스가 생성되는 과정 VIPCustomer customerChoi = new VIPCustomer(); customerChoi.setCustomerID(10101); customerChoi.setCustomerName("최민식"); customerChoi.bonusPoint = 1000; System.out.println(customerChoi.showCustomerInfo()); VIPCustomer 클래스로 선언한 customerChoi 인스턴스는 상위 클래스의 변수를 사용할 수 있다. 이는 그 변수를 저장하고 있는 메모리가 존재한다는 뜻이다. 테스트를 하기 위해 Customer와 VIPCustomer 클래스 생성자에 출력문을 추가해보자. public class Customer { protec..