본문 바로가기
2023 활동 - 4학년/[1월 ~ 4월] sw 아카데미 백엔드 과정

[2023.01.11 / CNU SW 아카데미] 프로그래머스 라이브 클래스

by 은행장 노씨 2023. 1. 11.

오전 10시, 수업시간이 되었을 때, 온라인 수업을 위해 줌 주소를 찾으러 이곳저곳을 헤맸었다. 

알고보니 이번 수업 장소는 프로그래머스의 라이브 클래스였다.


오늘은 프로그래머스에서 라이브 클래스로 수업이 진행됐다.

<복습>

변수가 무엇인가요?
조건문의 순서만 바꿨을 뿐인데 결과가 달라진다. 

객체

행동을 할 수 있고, 기능이 있는 thing
은/는/이/가 + 서술어"문장" 이 성립되면 객체라고 생각하면 편하다. 

객체지향 프로그래밍? 절차지향 프로그래밍?

절차 지향으로 자판기를 바라보면,
자판기를 사용하는 행동/행위를 순서대로 먼저 생각한다. 
-> 자판기에 돈 넣는다. 
-> 커피를 선택한다. 
-> 거스름돈
-> 커피를 받는다. 
-> 마신다. 

객체 지향으로 자판기를 바라보면,

각자 class가 하는 일을 먼저 생각한다. 
* 자판기가 하는 일
- 커피를 만들 수 있다. 
- 돈을 받을 수 있다. 
- 거스름돈을 줄 수 있다. 
- 커피를 줄 수 있다. 

* 사람이 할 수 있는 일
- 커피를 고른다. 
- 돈을 받는다. 
- 거스름돈을 받는다. 

 

객체지향, 절차지향은 먼저 하는 것을 생각하자. 
객체가 할 수 있는 것을 정의한 다음 절차를 생각한다.  

객체 지향 프로그래밍이란?
프로그램을 구현할  때, 
프로그램의 구조를 먼저 생각하고 그 구조를 활용할 순서를 생각하는 것

절차 지향 프로그래밍이란?
프로그램을 구현할 때, 
프로그램의 순서를 먼저 생각하고 구조를 생각한다. 

 

인터페이스? 추상 클래스?

* 공통 규약을 가진 -> 추상클래스 
- 공통 규약을 가진 것이 목적인 추상클래스

* 클래스를 보지 않고도, 사용할 수 있게 해주는 -> 인터페이스 
- 접점이 되어주는 것이 목적인 인터페이스