[24.05.10] 내일배움캠프 19일차 JAVA TIL - OOP

2024. 5. 10. 20:07T.I.L

오늘 한 일

  • 팀 과제 노션 정리
  • 팀 발표
  • Object 다형성/상속성/추상클래스/인터페이스 

 

 


 

최현웅 튜터님의 강의를 들었다.

 

다형성이란?

C ver.

int add(int a,int b){
	return a+b;
}

double add_2(double a,double b){
	return a+b; // 같은 메소드명이 불가능
}

Java ver.

int add(int a,int b){
	return a+b;
}

double add(double a,double b){
	return a+b; // 같은 메소드명이 가능
}

오버로딩된 add 함수

 

python과 같은 high level 언어는 변수의 자료형을 지칭하지 않아도 알아서 된다.


상속성

-> 부모 클래스의 특징을 자식 클래스가 그대로 물려받는 특징

Class SuperA{
	private int a;
    
    // 매개변수가 없는 생성자 자동 생성
    public void setA(int a){}
    public int getA(){}
    public void somethingToDo(){}
}

 

Class childB{
	private int b;
    
    // 매개변수가 없는 생성자가 자동으로 생성됨
    public void setB(int b){}
    public int getB(){}
    public void somethingToDo(){}

extends 를 이용하여 상속받고, 같은 이름으로 선언된 somethingToDo() 함수를 자식 클래스에서 오버라이딩할 수 있다.

즉, super 클래스에 있는 함수를 죽인다고 생각하면 됨

 

만약 super에 있는 함수도 호출해야 한다면? super.somethingToDo()

 


추상 클래스

튜터님이 메이플 스토리 전직으로 설명해주심

처음에는 무직 캐릭터로 태어나지만 나중에 내 선택에 따라 직업을 선택할 수 있다.

추상화 상태  -> 오버라이딩으로 전직

 

 

 

 

훈훈한 사진으로 마무리