포함
클래스 간의 관계에는 상속 이외에 포함관계도 있다. 이번 포스트에서는 포함관계에 대해 살펴보자. 포함은 한 클래스의 멤버변수에 다른 클래스를 선언하여 관계를 만들 수 있다. Class Point{ int x; int y; } Class 3DPoint{ Point o = new Point(); // 포함 int z; } ...
클래스 간의 관계에는 상속 이외에 포함관계도 있다. 이번 포스트에서는 포함관계에 대해 살펴보자. 포함은 한 클래스의 멤버변수에 다른 클래스를 선언하여 관계를 만들 수 있다. Class Point{ int x; int y; } Class 3DPoint{ Point o = new Point(); // 포함 int z; } ...
객체 메모리 할당 자바에서 객체를 만들면 JVM은 코드를 통해 필요한 메모리의 공간을 메모리의 힙에 할당하고 4바이트 포인터를 만든다. 상속 상속은 기존 클래스를 재사용하여 새로운 클래스를 작성하기 때문에 객체 간의 관계를 보여준다. 예를 들어, Person, Student, Undergraduate의 관계는 다음과 같다. $ Undergradu...
📌문제 💪아이디어 집합 묶기 1에서 출발하여 입력값에 도달하기 위해 방문하는 최소의 방의 개수를 찾기 위해서는 입력값이 몇 번째 그룹에 속하는지 알아야한다. [1], [2,3,4,5,6,7],[8,9,10,..,19],[20,...,37],... 으로 집합이 묶인다. 각 집합의 첫 번째 수는 1,2,8,20,...으로 1,6,12,...
메소드는 클래스 영역에 있는 작업을 실행하기 위한 명령문의 집합이다. 메소드를 사용하면 코드 중복을 줄일 수 있어 코드의 쉬운 유지보수, 재사용이 가능하다. 매서드는 선언부와 구현부로 구성된다. int add(int a, int b)//선언부 {//구현부 시작 int result = a + b; return result; ...
자바는 객체지향적인 언어이다. 객체지향적 언어 전에는 C언어와 같은 절차적 언어를 사용하였는데 소프트웨어가 발전함에 따라 프로그램을 업그레이드 시켜야했다. 이를 쉽게하기 위해서 나온 것이 객체지향적 언어이다. 객체 지향적 언어 = 프로그래밍 언어 + 객체지향적 개념 객체지향적 개념은 캡슐화, 상속, 추상화, 다형성이다. 이를 통해서 코드의...
📌문제 💪아이디어 최대 n이 1e18이기 때문에 최대 O( $log{n}$ )의 알고리즘으로 짜야했다. 규칙성 찾기 P는 P + ‘0’ + ^P 의 꼴로 만들어진다. 만들어지는 문자열[i]의 길이는 $ \text{1, 3, 7, 15, … ,}2^{i+1}-1$씩 늘어난다. P[1]부터 문자열을 각 자릿수를 1부터 ...
📌문제 💪아이디어 수업시작일 정하기 어떤 요일에 수업이 시작하느냐에 따라 머무르는 기간이 달라질 수 있다. 수업이 1인 날에 시작한다고 가정하고 총 머무르는 기간을 구하였다. –> 보완할점 문자열재배치: 주에 수업이 시작하는 요일이 하나이고 이미 input_day[0]==’1’이거나 모든 요일에 수업을 하면 문자열 재배치를 하지 않아...
제네릭 프로그래밍 제네릭 프로그래밍은 하나의 함수를 다양한 자료형의 객체에서 재사용할 수있는 객체 지향 기법이다. public int[] sort(int[] array){} 이러한 코드는 int[]객체만 사용할 수 있다. a,b,c객체도 사용해야하고 제네릭 프로그래밍이 없다면, public int[] sort(int[] array){} publ...
시간복잡도 시간복잡도는 알고리즘의 효율성을 측정하기 위하여 사용한다. 시간복잡도에는 몇 가지 규칙이 있다. input >= 0 함수의 입력값은 0개 이상이 들어와야한다. function do more work for more input. 입력값이 많아질 수록 함수가 처리하는데에 시간이 많이 든다. ...
📌문제 💪아이디어 8바이트 별로 그룹만들기 메모리 크기는 딕셔너리를 사용하여 값을 불러온다. 타입의 크기가 8이상일 경우 그 전까지 만들어 졌던 그룹이 있으면 그 그룹 먼저 그룹 배열에 넣어주고 해당 타입을 그룹으로 만들어서 그룹 배열에 넣어준다. 그다음 만들어질 그룹을 위해 그룹 별 바이트를 세는 변수와 그룹을 비워...