9월2째주 오이사님 세미

짐니·2023년 9월 12일
0

230912

객체란?

ENIAC:

프로그램

  • 의사소통을 위한 문서: 가독성 등등
  • 실행을 위한 명세 -> 기계에서 돌아가는 것

FORTRAN:

-전역 변수: 배열/일반변수
-함수
-선택분기/루프/함수호출
입력, 출력, formatted output/input


ALGOL:

  • 블럭 구조 {}
  • 복합 데이터 구조 structure
  • goto -> structured programming -> 통제 어려움
  • 함수랑 goto랑 머가 다르니? -> 함수는 추상화할 수 있어서

structured programming

  • 코드를 명령어의 실타래로 보지 말고 빌딩 블럭으로 보자!
  • 빌딩 블럭
    : 진입점이 1개
    : 나가는 점은 여럿일 수 있음 -> 그 블럭의 맨 끝으로만 나가야 함

나가는거
1) break;
2) continue;
3) end;

1) if(){ // }
2) else if(){ // }
3) else{ // }

변수 a
fun 함수() {
변수 a 사용
}

변수 b
fun 함수2() {
변수 b 사용
}

// 변수를 함수 내부에서 사용하면 외부에 영향을 미친다
// 순수함수 -> 컨텍스트 영향을 안 받고 컨텍스트에 영향을 안줌, 함수 내부와 파라미터만 보면 함수가 먼짓을 하는지 알수있음


추상화: 인간이 알아보기 쉽게 만들기
1) 이름 붙이기 (개념 부여)
2) 파라미터화 (변화되는 부분과 고정된 부분 고정하기)


데이터 타입
program = data + algorithm
data: 입력 데이터
algorithm - 입력 데이터를 출력 데이터로 변환하기 위한 절차
data: 출력 데이터

복합 데이터를 처리하는 공통의 함수들이 생김
fun 진급(complex:Employee)
fun 월급계산(complex:Employee)
fun 휴가잔여일자계산(complex:Employee)

..
커플링은 줄이고, 응집도는 높게

데이터 같이 쓰는 애끼리 묶자

module employeeModule
data Employee
fun 진급(complex:Employee)
fun 월급계산(complex:Employee)
fun 휴가잔여일자계산(complex:Employee)

...

import로 커플링을 확인할 수 있음

import EmployeeModule
new Employee()
...

data Employee {
private int salary;
private fun 진급에 따른 월급()..
public fun 진급()
public fun 월급계산()
public fun 휴가잔여일자계산()

}

응집도를 높이고 커플링을 줄이는 방법?

profile
데브업 종사자

0개의 댓글

관련 채용 정보