본문 바로가기
TOPCIT

자료구조 - 객체지향 클래스 개념

by suhsein 2024. 8. 25.
728x90

🗂️객체지향 클래스 개념

🖼️클래스 다이어그램

위의 클래스 다이어그램을 아래의 자바 코드로 변환할 수 있다.

abstract class SavingAccount{
        protected int period;
        protected double rate;
        protected double money;
        public abstract double calcInterest();
}

🪧클래스 다이어그램 기호

 

(+) 기호 ⇒ public
(-) 기호 ⇒ private
(#) 기호 ⇒ protected

 

콜론 앞에는 필드/메소드의 이름, 콜론 뒤에는 필드/메소드의 타입/반환형

✋접근 제어자

접근 제한자라고도 하며 멤버 또는 클래스에 사용

 

💡 해당하는 멤버 또는 클래스를 외부에서 접근하지 못하도록 제한하는 역할을 한다

 

클래스 제한, 필드와 메소드 제한, 생성자 제한

접근 제어자 종류

접근 제한 적용 대상 접근할 수 있는 영역
public 클래스, 필드, 생성자, 메소드 클래스 내부, 동일 패키지, 자손 클래스, 이외 영역
protected 필드, 생성자, 메소드 클래스 내부, 동일 패키지, 자손 클래스
default 클래스, 필드, 생성자, 메소드 클래스 내부, 동일 패키지
private 필드, 생성자, 메소드 클래스 내부

🗯️추상 클래스

추상 메소드는 선언만 해주면 됨

추상 클래스를 상속받은 자식 클래스는 반드시 추상 메소드를 오버라이딩 해야 한다

객체로 생성 불가

🚕오버로딩 vs 오버라이딩

오버로딩

💡 메소드명이 같고, 매개변수의 개수나 타입이 달라야 한다

 

주의 : 매개변수의 갯수와 타입이 모두 같고 이름만 다른 경우는 오버로딩이 성립하지 않는다

오버라이딩

💡 부모 클래스로부터 상속받은 메소드를 자식 클래스에서 재정의 하는 것

 

메소드명, 매개변수, 리턴 값이 모두 같아야 한다

728x90