class MathTest{
int add (int a, int b){
System.out.println("int add(int a, int b) : ");
return a+b;
}
long add (int a , long b){
System.out.println("long add(int a, long b) : ");
return a+b;
}
long add (long a , int b){
System.out.println("long add(long a, int b) : ");
return a+b;
}
long add (long a , long b){
System.out.println("long add(long a, long b) : ");
return a+b;
}
int add(int[] a){
System.out.println("int add(int[] a) :");
int result =0;
for (int i=0; i<a.length;i++){
result += a[i];
}
return result;
}
}
코드만 봐도 이해 가능
상속 받을때는 extends
class Tv{
boolean power;
int channel;
void power(){
power =! power;
}
void channelUp(){
++channel;
}
void channelDown(){
--channel;
}
}
class captionTv extends Tv {
boolean caption;
void displayCaption(String text){
if (caption) {
System.out.println(text);
}
}
}
class Point{
int x;
int y;
String getLocation(){
return "x: "+x+"y: "+y;
}
}
// Prac = Point 3D
public class Prac extends Point{
int z;
// 메소드를 Prac에 맞게 수정했다! 이게 오버라이딩~
String getLocation(){
return return "x: "+x+"y: "+y+"z: "+z;
}
public static void main(String[] args){
}
}
오버로딩은 이름은 똑같으나 타입이 다를 경우
오버라이딩은 그대로 가져와서 내 입맛대로 바꿔 사용 하는 경우.
이렇게 보면 될 것 같다!!
처음에 이 부분 강의 들을때 무슨 소린지 몰랐는데
여러 예제를 보니까 이제 대강 이해를 한 것 같은 느낌이다. 조건 같은 것도 있던데 그건 다음에 다시 정리 해봐야겠다.
오늘의 나는 오버이팅 OverEating
살빼자
아닛 갑자기 다이어트?!