OOP
- 객체지향 프로그래밍
- 기본의 만들었던 내용을 재사용할 수 있다는 장점이 있다.
- 프로그램을 독립된 단위인 객체들의 모임으로 보고 각각 객체는 메시지를 주고 받고 데이터를 처리함.
추상화(Abstraction)
- 어떤 실체로부터 공통적인 부분이나 관심 있는 특성들만 한곳에 모은 것
- 구현 세부사항 대신 기능 측면에서 클래스의 모델링을 목적으로 한다.
- 인터페이스와 구현을 분리한다.
캡슐화(encapsulation)
- 데이터 보호
- 비슷한 역할을 하는 속성과 메소드들을 하나의 클래스로 모아, 접근 지정자를 통해 제어하는 것
- 은닉화 : 객체의 세부 내용이 외부에 드러나지 않아 외부에서 데이터를 직접 접근하는 것을 방지한다. 캡슐 내부의 로직이나 변수들을 감추고 외부에는 기능(api)만을 제공하는것
상속(inherutance)
- 코드 재사용
- 자식클래스가 부모클래스의 특징과 기능을 물려받는 것
- 클래스를 상속 받아 수정하여 사용하기 때문에 중복 코드를 줄일 수 있다.
- 부모클래스의 수정으로 모든 자식클래스들도 수정되는 효과
다형성(polymorphism)
- 객체 변경 용이
- 어떤 변수, 메소드가 상황에 따라 다른 결과를 내는 것
- 오버라이딩(overriding) : 부모클래스 메서드를 자식클래스에서 재정의하는 것
- 오버로딩(overloading) : 한 클래스에서 메소드 이름은 같지만 파라미터 개수나 자료형을 다르게 하여 서로 다르게 동작하게 하는 것
'CS' 카테고리의 다른 글
[CS] 프록시(Proxy)란 (0) | 2023.02.23 |
---|---|
[CS] 트랜젝션 (0) | 2023.01.28 |
[CS] OSI 7 계층 (0) | 2023.01.28 |
[CS] 해시(Hash)와 해시 충돌 해결 방법 (0) | 2023.01.28 |
[CS] 프로세스와 스레드 (0) | 2023.01.26 |