컴퓨터 개론 - 토픽2 : 프로그래밍 언어 이해하기 1/2 완료
□ 오늘의 학습내용
① 프로그래밍 언어의 의미
: 프로그래밍 언어란 컴퓨터에게 어떤 일을 해야 할지 알려주는 설명서를 쓰기 위해 사용하는 "언어"이다. 사람들이 프로그램 (게임,it,인공지능 등)을 만들다가 다양한 이유로 기존 언어에 불편함을 느끼기 시작하면서 용도, 상황, 프로젝트 규모에 따라 더 유용하고 적합한 언어를 찾아가다 보니 오늘날 많은 프로그래밍 언어들이 존재하게 된 것!
② 여러 프로그램 언어들을 구분지어주는 특징 첫 번째 : 객체 지향 프로그래밍
º 객체 지향 : 프로그래밍에 접근하는 여러 방법 (procedural, objected-oriented, structured 등) 중 하나
º 객체 지향 언어들 : C++, C#, python, java
º 객체지향프로그래밍 : bottom-up 방식으로 코드를 구현하는 것! "관련 있는" 함수와 데이터를 한 데 묶어 object를 만들고, 좀 더 의미있는 단위로 전체 데이터를 나누는 방식. "객체(object)"의 개념을 활용해 프로그래밍 하는 것이 객체지향 프로그래밍이다.
º 객체 지향 프로그래밍이 왜 좋으냐면...!
- 기존에는 top-down 방식으로 프로그램을 설계하고 일을 나누고 구현했는데, 그러다 보니 각 기능(함수)들을 전체로 합쳐야지만 제대로 프로그램이 동작하는지 알 수 있었고, 그 중 한 개라도 미완성이면 전체를 실행할 수 없었다. 하나의 기능을 따로 수정하고 싶어도, 다른 기능들과 모든 데이터를 공유하고 유기적으로 연결되어 있기 때문에, 전체 코드를 모두 확인해야 했다. 규모가 커지면 비효율적일 수 밖에 없는 방식이었던 것!
- 대규모 프로젝트나 많은 데이터들을 다루어야 하는 프로그램의 경우엔 객체 지향 방식을 사용하면 훨씬 더 좋다!
③ 변수의 데이터 타입
º dynamic typing : 변수의 자료형 (data type) 을 미리 정해주지 않고, 즉 컴퓨터적 구조(컴퓨터가 이해하기 더 쉬운 문법으로 코드를 구현하는 것) 를 생략하는 언어이다. 코드의 표현이 간결하고 편리하다. 파이썬처럼! 최근에는 컴퓨터 성능도 많이 좋아져서, 실행속도도 충분히 쓸만한 수준으로 빨라지고 있다.
º static typing : 코드를 실행하기 이전, 자료형을 미리 정해주는 언어이다. 명확함과 정교함을 추구하기 때문에 컴퓨터적 구조를 표현할 수 있는 대신에 코드가 길어지게 된다. 컴퓨터가 보다 이해하기 쉽도록 세세하게 코드를 작성하다 보니 컴퓨터가 빠르게 코드를 호로록 읽어서, 실행속도가 빠르다는 장점이 있다. 임베디드, 실시간투자, 인공지능 분야에서 활약중 ~_~
△ 강의에 대한 학습 내용을 워드파일을 통해 나름 나만의 개인 교재로 만드는 중! 내용 복습하기도 쉽고, 그때 그때 꺼내보기 좋다. 학기 때도 이런 방식으로 종종 공부하는데, 요즘 "노션" 에 관심을 가지고 있다가, 코드잇 카페 매니저 분께서 노션에 대한 설명글을 올려주셔서 주말에 노션 마스터 할 계획을 세웠다 :) 노션 페이지도 만들어봐야지!
'코드잇 대학생 코딩캠프' 카테고리의 다른 글
[2월 26일] 코드잇 대학생 코딩캠프 8,9일차 기록 (0) | 2021.02.26 |
---|---|
[2월 24일] 코드잇 대학생 코딩 캠프 6,7일차 기록 : 컴퓨터개론 코스 끝! (0) | 2021.02.25 |
[2월 22일] 코드잇 대학생 코딩캠프 5일차 기록 (1) | 2021.02.22 |
[2월 21일] 코드잇 대학생 코딩캠프 3,4일차 기록 (0) | 2021.02.21 |
[2월 18일] 코드잇 대학생 코딩캠프 1일차 기록 (0) | 2021.02.18 |