김범수의 개발공부기록

2019-12-31 TIL

|

오늘도 Java 생활코딩 강의를 들었다.

Today I Learend

  • 생활코딩 Java1의 강의를 마쳤다. 조건문, 배열, 반복문, 메소드, 클래스, 인스턴스에 대한 설명을 듣고 대략적인 Java의 구조가 그려졌다.
    1. 배열을 만들 때 C언어와 달리 인스턴스 형식으로 추가해준다!
    2. Method는 C언어의 함수와 비슷하다. 서로 연관된 코드를 그룹핑해서 이름 붙인 정리정돈 상자이다.
    3. Class는 서로 연결된 변수와 Method를 그룹핑해서 이름 붙인 정리정돈 상자이다.
    4. Instance는 하나의 Class를 복제해서 서로 다른 데이터의 값과 서로 같은 method를 가진 복제본을 만드는 것이다. (instance 쓰려면 static 있으면 안 된다 <- 왜 이럴까?)
  • 최소한으로 배워 최대한으로 활용하라. 나는 이 말을 실천하기 위해 현재 배운 지식을 가지고 졸업학점계산기를 만들었다. 졸업학점계산기에서는 나의 현재 수강한 전공학점과 일선학점을 입력하면 남은 졸업학점을 출력해주는 프로그램이다. 남은 졸업학점을 계산하는 것은 복잡하지만 프로그램화하니 엄청 편한 것 같다. 왜 프로그래밍을 해야 하는지, 프로그래밍의 효용을 느낄 수 있었다.
  • bit연산자에 대해서 추가로 알아보았다. 시프트 연산은 비트 단위 연산에 쓰이며 «,»,»> 가 있다.
    • a « b : a를 왼쪽으로 b만큼 시프트 한다. 새로 비는 자리는 0으로 채운다.
    • a »> b : a를 오른쪽으로 b만큼 시프트 한다. 새로 비는 자리는 0으로 채운다.
    • a » b : a를 오른쪽으로 b만큼 시프트 한다. 새로 비는 자리는 최상위비트로 채운다. 왜 »는 최상위비트로 채우는지?? 굳이 »> 라는 연산자가 필요했을까?
  • 백준 알고리즘 15552번을 도전해봤으나 풀 지 못했다. Buffer 관련 지식이 필요한 것 같다. 여러 method를 접해보는 연습이 필요하고 Buffer에 대해 더 알아보아야겠다. 예외에 대해서는 이클립스가 알아서 해결해주었지만, 더 나아가기 위해서는 예외에 대해서도 공부해야겠다.

느낀 점

  • 이클립스는 아주 강력하다. Refactor로 지역변수, method, 전역변수화 하는 것은 정말 혁신적인 기술이었다.
  • 생각보다 Java의 문법이 클래스와 인스턴스 등 특수한 것들을 제외하고는 C언어와 비슷한 것 같은 느낌을 받았다. 연산자도 거의 동일하고 조건문, 반복문 등도 문법이 동일해서 꽤 수월했다.
  • 내일부터는 이산수학도 공부해야겠다. 이산수학책을 빌려놓고 한동안 안보고 있다. 전과 면접 전까지 1회 독을 마치고 싶다.

Comments