daily_study_78.log
로그인
daily_study_78.log
로그인
[Spring] 스프링 핵심 원리 - 기본편 1) 객체지향 개념
daily_study_78
·
2021년 10월 15일
팔로우
0
0
Spring
목록 보기
1/6
1. 객체지향 프로그래밍
여러개의 독립된 단위인 객체들의 모임으로 객체를 통해 메세지를 주고받고, 데이터 처리 진행
프로그램을 유연하고 변경 용이하게 만듦
역할과 구현의 분리
2. 객체지향의 4대 특성
1) 캡슐화
객체의 속성과 행위를 클래스로 묶음
실제 구현 내용을 일부 외부에 감춰 은닉(외부: 다른 클래스에 속한 객체)
필요정보만 알려주면 됨
2) 상속
이미 존재하는 객체를 기반으로 확장된 객체 만드는 방법으로 기존 객체의 속성, 동작 모두 사용 가능(extends CLASS)
여기에 다른 속성이나 동작 추가 가능
3) 다형성
객체지향의 핵심
같은 지시에 대해 다른 종류의 객체가 동작을 다르게 하는 것
어떤 구현이 실행될 지는 실행 중에 결정(일반적인 함수 호출은 컴파일 중에 결정됨)
다형성을 사용하려면 상속관계 필요(자식객체에서 부모객체 함수를 다르게 구현: overriding)
4) (데이터) 추상화
객체의 구현 방법에 종속되지 않겠다는 의미
객체 사용 시 그 안에 정확히 어떤 데이터가 있는지 알 필요가 없음
객체 안에 있는 데이터에 직접 접근 불가능(private, 캡슐화는 추상화를 이루는 방법 중 하나)
다형성을 통한 추상화와는 약간 다름 - 추상클래스(abstract class) 나 인터페이스를 사용해 추상화
5) 연관
어떤 객체가 제공하는 기능을 다른 객체가 이용하는 관계
상속은 자식 객체가 부모 객체의 모든 것을 내포함
연관은 한 객체가 다른 객체를 참조함
6) 컴포지션
여러 개의 부품으로 새로운 개체를 만드는 방법
부품 그 자체로는 존재 의의가 없음
7) 집합
여러 객체를 모아 다른 객체를 만들지만, 별도로 존재 가능
3. 역할과 구현의 분리
뮤지컬을 할 때 역할이 존재하고, 하나의 배역에 여러 배우들을 캐스팅한다.
배역은 지정되어있고, 배우는 대체가 가능하다. -> 배역 = '역할', 배우 = "구현" -> 유연하고 변경이 용이함
역할 = 인터페이스
구현 = 인터페이스를 구현한 클래스, 구현 객체
daily_study_78
78_study
팔로우
다음 포스트
[Spring] 스프링 핵심 원리 - 기본편 2) 객체지향 개념(2)
0개의 댓글
댓글 작성