<CodeStates>상속 ,캡슐화

한주영·2023년 2월 28일
0

상속

기존의 클래스를 재활용하여 새로운 클래스를 작성

클래스로부터 확장 되었다

extends 키워드를 사용하여 상속

상속을 사용하는 이유?

코드를 재사용하여 적은 양의 코드로 새로운 클래스가 작성이 가능
코드의 중복을 제거

클래스에서의 상속은 단일 상속만 가능

포함관계

포함

상속처럼 클래스를 재사용하는 방법
클래스의 멤버로 다른 클래스 타입의 참조변수를 선언

메서드 오버라이딩

상위클래스로부터 상속받은 메서드와 동일한 이름의 메서드를 재정의

-메서드의 선언부가 상위클래스의 메서드와 일치
-접근제어자의 범위가 상위 클래스의 메서드보타 같거나 넓어야함
-예외는 상위 클래스의 메서드보다 많이 선언할수있다

Super 와 Super()

super
상위 클래스의 객체
super()
상위클래스의 생성자 호출

공통적으로 상위클래스의 존재를 상정하며 상속관계를 전제로함

Object 클래스

자바의 클래스에서 최상위에 위치한 클래스
자바의 모든 클래스는 Object클래스로부터 확장

Object 클래스의 대표적인 메서드


출처:코드스테이츠 자료

캡슐화

특정 객체안에 속성과 기능을 하나의 캡슐로 만들어 데이터를 보호

이유?
1.데이터보호의 목적
2.내부적으로 사용되는 데이터에 대한 불필요한 외부 노출을 방치

접근제어자

접근제어자를 사용하면 외부로부터의 불필요한 데이터 노출을 방지할수있고
외부로부터 데이터가 임의로 변경도지 않도록 할수있다

접근제어자는 pricate,default, protected, public이있다

getter/ setter

setter -> 외부에서 메서드에 접근하여 조건에맞을경우 데이터 값을 변경하게 해줌

getter->설정한 변수값을 읽어옴

이 두가지 메서드를 사용하면 데이터를 보호하면서 의도하는 값으로 값을 변경하여 캡슐화를 효율적으로 사용할수있다

profile
백엔드개발자가 되고싶은 코린이:)

0개의 댓글