Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 서블릿
- MVC
- 코딩테스트
- toUpperCase
- 자바
- 기술 대비
- select
- DDL
- 프레임워크
- 뉴렉처
- SQL
- 김영한
- Model1
- 세션
- 프로그래머스
- JSP
- Join
- 인텔리제이
- @RestController
- MVC2
- 인프런
- 스프링
- 서브쿼리
- @Controller
- 코테
- 메이븐
- AOP
- STS
- Model2
- order by
Archives
- Today
- Total
Heestory
07.캡슐화/상속/다형성/추상화 본문
https://hee-story6.tistory.com/74
기술면접 대비 : 객체 지향 프로그래밍
객체 지향 프로그래밍(Object Oriented Programming) : 컴퓨터 프로그래밍 패러다임 중 하나로써 , 프로그래밍에서 필요한 데이터를 추상화 시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기
hee-story6.tistory.com
#.캡슐화
정보은닉, 비슷한 역할을 하는 속성과 메소드를 하나의 클래스로 모은것
캡슐 내부의 로직이나 변수들을 감추고 외부에는 기능(API)만을 제공
#.상속
클래스를 재사용 → 생산성이 높고 유지 보수가 좋다
상위 클래스를 하위 클래스에서 상속 받게 되면 상위 클래스의 멤버변수나 메소드를 그대로 물려받는다
#.다형성
같은 모양의 함수가 상황에 따라 다르게 동작하는 것
- 오버로딩 : 함수의 이름은 같으나 함수의 매개 변수 숫자, 타입 등을 달리해서 다르게 사용
- 오버라이딩 : 상위 클래스의 메소드를 하위 클래스에 똑같은 이름으로 재정의 , 메소드 이름은 같으나 상위 클래스의 참조 변수냐, 하위 클래스의 참조 변수냐에 따라 호출되는 메소드들이 다르다.
#.추상화
어떤 실체로부터 공통적인 부분이나 관심 있는 특성들만 한 곳에 모은 것
어떤 하위 클래스들에 존재하는 공통적인 메소드를 인터페이스로 정의
#.추상 클래스 VS 인터페이스
-추상 클래스(abstract)
:미완성 설계도에 비유, 새로운 클래스가 추상 클래스를 상속받아 추상 메서드를 구현해주면 완전한 클래스가 되는 것
- new를 통해 객체를 직접 생성 불가
- extends 이용
- 다중 상속 불가능
- 생성자, 변수, 메서드 모두 사용 가능
- 추상 메서드 사용(선언부만 작성하고 구현부는 작성하지 않음)
- abstract로 선언한 메소드를 자식 클래스에서 반드시 구현해야함(오버라이딩), 강제로 구현하게 함
-인터페이스
:더 추상화된 클래스, 구현된 것은 아무것도 없고 밑그림만 그려져 있는 기본 설계도
- 일반 메소드 또는 멤버 변수를 구성원으로 가질 수 없다
- 오직 추상메서드와 상수만을 가질 수 있다.
- implements를 이용
- 클래스와 다르게 다중 상속이 가능하며 인터페이스는 인터페이스로부터만 상속받을 수 있다.
'개발(~국비) > 기술면접' 카테고리의 다른 글
09.배열 vs ArrayList (0) | 2022.10.20 |
---|---|
08.클래스 변수/인스턴스 변수/지역변수/매개변수 (0) | 2022.10.20 |
06.Static , class/Instance (0) | 2022.10.19 |
05.스레드(Thread) (0) | 2022.10.19 |
04.객체의 직렬화 (0) | 2022.10.19 |