메서드 오버로딩과 오버라이딩은 모두 자바의 다형성을 구현하는 방법이다. 게다가 이름과 구현과정까지 나름 비슷해서 가끔 헷갈릴 때가 있는데, 오늘도 헷갈린 김에 잊지 않으려 정리를 한다. Method Overloading 가장 먼저 짚고 넘어가야 할 오버로딩과 오버라이딩의 근본적인 차이는 두 행위가 구현되는 타이밍이다. 오버로딩의 경우 컴파일 과정에서 구현되며, 오버라이딩은 실행시, 혹은 런타임으로 구현된다. 계속해서 오버로딩은 같은 클래스 안에서 두 개 이상의 같은 이름을 가진 메서드를 정의하는 것을 가리키며, 여기엔 아래와 같은 몇 가지 규칙이 존재한다. 메서드 이름이 같아야 한다. 리턴 타입과 예외처리는 같아도 되고 달라도 된다. 파라미터의 개수가 다르거나, 같다면 타입이 달라야 한다. 즉, 시그니처..
이 예제는 어제 수업시간에 배운 것이다. 다형성이라는 객체 지향 프로그래밍의 개념이 어떻게 실제로 사용되는지를 쉽게 볼 수 있다. 먼저 손님이 카페에 방문하여 커피를 주문하는 상황을 가정하자. class Coffee { int price; public Coffee(int price) { this.price = price; } } class Americano extends Coffee {}; class CaffeLatte extends Coffee {}; class Customer { int money = 50000; } 하나의 멤버와 생성자를 가진 Coffee 클래스와 그 하위 클래스 Americano, CaffeLatte가 선언되어 있다. Customer 클래스는 손님을 나타내는데, 기본적으로 5만 원..
다형성(Polomorphism)이란 자바의 객체지향 프로그래밍의 네 가지 기둥 중 하나이자, 객체지향 프로그래밍에서 가장 중요하다고 할 수 있는 부분이다. 자바에서 다형성이란 하나의 객체가 여러가지 타입을 가질 수 있는 것을 의미한다. 자바 프로그래밍에서 다형성이란 한 타입의 참조변수를 통해 여러 타입의 객체를 참조할 수 있도록 만든 것이며, 더 직관적으로 보자면 상위 클래스 타입의 참조변수를 통해 하위 클래스의 객체를 참조할 수 있도록 허용된 것이라 할 수 있다. 도대체 무슨 말인지 잘 감이 오지 않는데, 다음의 쉬운 예를 보자. //참조변수의 다형성 예시 class Friend { public void friendInfo() { System.out.println("나는 당신의 친구입니다."); } }..
- Total
- Today
- Yesterday
- 중남미
- 동적계획법
- 야경
- 세계일주
- a6000
- 지지
- Python
- RX100M5
- 리스트
- Algorithm
- 면접 준비
- 유럽여행
- 스프링
- 세계여행
- 유럽
- BOJ
- 기술면접
- spring
- Backjoon
- 세모
- 알고리즘
- 남미
- java
- 스트림
- 여행
- 파이썬
- 맛집
- 자바
- 백준
- 칼이사
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |