내일배움캠프 6주차 주간 회고(WIL)

김성훈·2021년 10월 24일
0

내일배움캠프 WIL

목록 보기
6/8
post-thumbnail

📖이번주 공부내용


2021.10.18 ~ 2021.10.24
1. 알고리즘 공부
2. 자바 문법 강의

알고리즘이란 무엇인가

알고리즘은 어떠한 문제를 해결하기 위한 일련의 절차를 공식화한 형태로 표현한 것이다
일상 속에서 예를 들면 이런 것들이 있다

  • 서울에서 부산으로 가는 길 찾기
  • 김치찌개를 만드는 방법
  • 핸드폰으로 이쁜 사진을 찍는 방법

하지만 프로그래밍에서 알고리즘은 입력값을 통해 출력값을 얻기 위한 계산 과정이라고 한다.
이러한 문제를 해결할때 정확하고 효율적으로 결과값을 얻기 위해서 알고리즘이 필요하다.

알고리즘의 조건

  • 입력 : 외부에서 제공되는 자료가 0개 이상 존재한다.
  • 출력 : 적어도 2개 이상의 서로 다른 결과를 내어야 한다.(즉 모든 입력에 하나의 출력이 나오면 안됨)
  • 명확성 : 수행 과정은 명확하고 모호하지 않은 명령어로 구성되어야 한다.
  • 유한성(종결성) : 유한 번의 명령어를 수행 후(유한 시간 내)에 종료한다.
  • 효율성 : 모든 과정은 명백하게 실행 가능(검증 가능)한 것이어야 한다.

자바 언어란

1995년 썬 마이크로시스템즈에서 발표한 프로그래밍 언어이다.
C++에 비해 메모리와 CPU를 많이 사용해 윈도우 프로그래밍 언어로 부적합했지만, 인터넷이 활성화되며 웹 애플리케이션 구축 언어로 급부상
초기의 자바는 가전 제품에 탑재할 언어로 개발되었지만, 현재는 엔터프라이즈 기업환경에서 실행되는 서버 애플리케이션을 개발하는 중추적인 언어

자바 언어의 특징

  • 높은 이식성
    서로 다른 실행 환경의 시스템 간에 프로그램을 옮겨 실행할 수 있는것(윈도우 and 리눅스) 같이 다른 환경에서도 실행 가능

  • 객체 지향 언어
    프로그램을 개발하는 기법, 부품에 해당하는 객체를 먼저 만들어 하나씩 조립해 전체 프로그램을 완성하는 기법 자바는 100% 객체지향 언어이다.

  • 동적 로딩
    자바 애플리케이션은 여러 객체가 서로 연결되어 실행되는데 객체는 클래스로부터 생성된다. 애플리케이션이 실행될 때 모든 객체가 생성되지 않고, 객체가 필요한 시점에 클래스를 동적 로딩해 객체를 생성한다.
    유지보수가 발생해도 해당 클래스만 수정하면 되기 때문에 전체를 컴파일 하지 않아도 되기 때문에 쉽고 빠르게 진행이 가능하다

🤟느낀점


매일매일 프로젝트를 위한 코딩만 하다가 처음으로 알고리즘을 접했다. 알고리즘을 접하고 내가 했던 코딩들과 완전히 다른 벽을 느꼈다. 프로젝트를 위한 코딩은 팀원들과 같이 보면서 이해를 하면서 진행하고 짤 수 있었지만 알고리즘은 정말 나 혼자 머리로 이 로직을 이해하고 구현해야 했기 때문이다. 처음에는 진짜 모르겠고 조금 해본 파이썬으로도 이렇게 힘든데 앞으로 공부해야 할 자바는 얼마나 어려울까 라는 생각도 들고 심란했지만, 백문이 불여일견 죽을때 까지 한번 계속 파보자 라고 생각하며 계속 봤다 확실히 강의를 듣는 거 보다 보면서 계속 풀려고 노력하고 구글링도 하고 이해 할려고 하니 조금식 머리에 들어오기 시작했다. 하지만 파이썬 자바 두마리 토끼를 다잡으려고 하니 잘 안되는 거 같았다 그래서 당분간은 자바만 파볼 예정이다. 초심 잊지 말고 열심히 해봐야겠다!!

🤝다짐


📌 자바 문법강의 내일까지 다듣기
📌 알고리즘 문제 더 풀어보기

📖✍📌💻📢 👁‍🗨

profile
"한 명이 걷는 천 걸음 보다 천 명이 함께 걷는 한 걸음이 성공의 시작이고 완성이다"

0개의 댓글

관련 채용 정보