2019-12-31 TIL
31 Dec 2019 | TIL오늘도 Java 생활코딩 강의를 들었다.
Today I Learend
- 생활코딩 Java1의 강의를 마쳤다. 조건문, 배열, 반복문, 메소드, 클래스, 인스턴스에 대한 설명을 듣고 대략적인 Java의 구조가 그려졌다.
- 배열을 만들 때 C언어와 달리 인스턴스 형식으로 추가해준다!
- Method는 C언어의 함수와 비슷하다. 서로 연관된 코드를 그룹핑해서 이름 붙인 정리정돈 상자이다.
- Class는 서로 연결된 변수와 Method를 그룹핑해서 이름 붙인 정리정돈 상자이다.
- 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