본문 바로가기

Codestates AI 부트캠프/5. CS Fundamental

1-2/1-3 OOP(객체지향 프로그래밍)

- OOP


프트웨어 개발 방법론 중 하나로, 프로그램을 작성할 때 현실 세계의 객체(Object)를 모델로 삼아 프로그래밍하는 방법. 이 방법론은 객체들 간의 상호작용을 중심으로 프로그램을 구성하며, 코드의 재사용성, 유지보수성, 확장성 등을 향상시킬 수 있다.

 

    - 캡슐화 : 객체의 상태와 행위를 하나로 묶고, 외부로부터의 접근을 제어
    - 상속 : 기존의 클래스(부모 클래스)를 기반으로 새로운 클래스(자식 클래스)를 생성
    - 추상화 : 객체에서 공통된 속성이나 동작을 추출하여 모델링하는 과정
    - 다형성 : 같은 이름의 메서드 또는 연산자가 다양한 객체에서 다양한 방식으로 동작할 수 있는 능력

 

 

- 프로그래밍 / 알고리즘 / 문제해결


프로그래밍 : 주어진 문제를 해결하기 위해 컴퓨터가 수행해야 하는 작업단계를 정확히 기술하는 과정
알고리즘 : 어떤 문제의 해결을 위하여 입력된 자료를 토대로 하여 원하는 출력을 유도하여 내는 규칙의 집합
문제해결 : 먼저 문제를 정확하게 진단/정의. 문제에 대한 패턴 발견 혹은 문제를 작은 단위로 분할해 해결. 이때 최소한의 비용으로 최대한 빠르게 해결하는 것이 관건

 

 

- 라이브러리와 프레임 워크

라이브러리는 개발자가 필요에 따라 호출하여 사용할 수 있는 코드의 집합입니다. 프레임워크는 애플리케이션 또는 소프트웨어 개발을 위한 구조와 규칙을 제공하는 뼈대입니다.

 


- 예외처리

 

컴퓨터는 오류를 만나면 꺼져버리는 경우가 있다.이를 방지하기 위해 try, exception을 통해 실패했을 때 에러코드를 출력할 수 있도록 하며, 다음으로 넘어갈 수 있도록 한다.


- set, list, tuple 자료구조의 차이


set은 중복되지 않는 값들을 저장하며, 순서가 없다. {}
list는 순서가 있고 중복된 값을 포함할 수 있으며, 변경 가능하다. []
tuple은 순서가 있고 중복된 값을 포함할 수 있으며, 변경 불가능하다. ()