java 언어스터디

Ahn yi·2022년 9월 28일
0

java

목록 보기
2/22

학습내용 :

1. Class - 자바의 설계도
2. 객체 - 속성(필드)을 가지며 동작(메소드)를 가진 것.
3. 알고리즘

객체? 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지고 있으면서 식별 가능한 것 ex)자동차, 자전거, 책, 사람, 강의, 주문 등

Class? 객체를 생성하기 위한 필드와 메소드가 정의되어 있는 설계도
Class는 라이브러이용도 아니면 실행용도로 사용된다.

CLASS의 구성 멤버

필드 : 객체의 데이터가 저장되는 곳 - 생성자와 메소드 전체에서 사용되며 객체가 소멸되지 않는 한 객체와 함께 존재
생성자 : 객체 생성 시 초기화 역할 - 필드 초기화 or 객체 사용 준비
메소드 : 객체의 동작에 해당하는 실행 블록

new연산자? 클래스로부터 객체를 생성시키는 연산자, new연산자로 생성된 객체는 메모리 힙(heap) 영역에 생성된다. new연산자는 힙 역역에 객체를 생성시킨 후 객체의 번지를 리턴한다.

클래스 변수 = new 클래스();

알고리즘 - 약수의 개수와 덧셈

문제 설명
두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.
예시 : left : 13 right : 17 result : 43

풀이 : 규칙을 찾아내면 쉽게 풀리는 알고리즘 문제였다. 규칙에 대해서는 수학적으로 대부분의 숫자 n의 약수는 1과 n을 시작으로 짝수개가 존재한다. 하지만 홀수개가 존재하는 숫자, 소수가 존재하였다.
소수의 경우 1과 n등 짝수개의 약수와 제곱근(+1)포함 홀수개가 된다.

소수가 아닌 사이의 수 - 소수 = 결과값

학습해야 할 내용

자바 가상 머신 - Class 개념 공부 중에 stack과 heap에 관한 내용이 나와 새로 공부 필요

마지막으로...

Class 공부를 하다가 JVM(Java Virtual Machine) 까지 공부를 하게 되었다. 겉핥기 식으로 아는 내용이 대부분이라 빠르게 책을 정독한 뒤에 깊은 내용을 차근차근이 봐야겠다.
알고리즘은 아직 단계가 쉬워서인지 하루에 하나 보다는 하루에 정해진 시간만큼 풀어야겠다.

profile
소통을 잘하고싶은 백엔드 개발자

0개의 댓글