본문 바로가기

JAVA6

자바상식 1. 클래스를 사용할때 new는 왜 사용하는가? 클래스를 인스턴스화 할때 new 키워드를 사용 new를 사용하면 객체를 실제 메모리에 장소를 만들어 사용할 수 있게 해준다 - 메모리 할당 : new를 사용하면 java는 Heap의 새 객체에 메모리를 할당함, 객체를 Heap에 저장하면 수명이 길어짐 - 생성자 호출 : new키워드 뒤에는 클래스 생성자가 호줄이 됨 -> 객체가 초기화 되어 초기 상태가 설정 됨 -> 인수를 취하며 객체에 초기 값을 전달할 수 있음 - 인스턴스 생성 : new를 사용하면 클래스의 인스턴스가 생성 : 인스턴스는 고유한 데이터(속성) 및 메소드(함수) 세트를 포함하는 클래스의 개별 구현 -> 이를 통해 각각 고유한 상태를 갖는 동일한 클래스의 여러 객체를 생성가능 - 유형지정 .. 2023. 12. 21.
자바로 만든 스윙 기반의 GUI 프로그램 알고리즘 과제중 순차탐색의 비교 횟수를 측정하는 내용이 있었다. - 비교적 쉬운 내용으로 코드로 표현하는건 어려운일이 아니었고 바로 결과를 확인 할 수 있었다. 그러나 터미널 화면에서 보이는 실행화면이 제출용으로는 마음에 들지 않았고 반복측정을 하기위한 인터페이스가 필요하다는 생각이들었다. 그래서 자바에서 제공하는 스윙 기반의 GUI라이브러리를 이용하여 프로그램으로 만들어 보기로 하였다. ComboBox를 사용하여 배열의 크기와 반복횟수를 사용자의 임의로 지정할 수 있게 만들었고 버튼을 추가하여 반복적인 측정이 가능하도록 구현하였다. 지금까지 GUI프로그램은 파이썬으로 만들어보다가 처음 자바로 만들어보는 작업이었는데 눈에 보이기 편하게 작업하려고 여러 클래스로 나누어서 만들다 보니까 객체를 만들어서 속성.. 2020. 9. 13.
프로그래머스 자바 전화번호 목록 public static boolean solution(String[] phone_book){ for (int i = 0; i phone_book[j].length(.. 2020. 9. 10.
피보나치 수열 함수 코딩, 알고리즘, Fibonacci Algorithm 코드 앞서배운 팩토리얼 코드에서 재귀함수에 대해서 알아보았는데요 자기 자신을 호출하는 재귀 호출은 피보나치 수열의 알고리즘에서도 사용됩니다. 피보나치 수열은 앞의 두항을 합친 값이 다음 항이 되는 수열 입니다. 처음에 1부터 시작한다고 하면 1, 1, 2, 3, 5, 8, 13, 21.... 이런식으로 나타낼 수 있습니다. 한 7, 8번째 항까지는 손으로도 쉽게 구할 수 있을텐데 피보나치수열의 30번째 항을 구하라고 한다면 ? 손으로는 약간 무리가 올거같고 그렇다고 못할것도 없어서 노가다를 뛰어서 구했는데 계산 실수라도 해서 잘못구하면 마음이 많이 쓰라릴거같습니다. 그래서 피보나치수열을 일반항 공식을 사용해서 구하자니 이거 우리가 중,고등학교때 배운 그런 쉬운 공식이 아닌데요 피보나치 수열의 일반항은 입니다... 2020. 2. 25.
팩토리얼 함수 코딩, 알고리즘 ,Factorial Algorithm (재귀함수) 앞에서는 반복함수로 팩토리얼 알고리즘을 구현하였는데 이번에는 재귀함수를 사용하여 팩토리얼을 구해보도록 하겠습니다. 그림이 이해가 되셨으면 좋겠네요 재귀함수, 재귀호출 이라고 하며 여기서 재귀는 자기 자신을 포함하고 다시 자기 자신을 사용한다 이런 느낌을 재귀적이라고 합니다. 무슨말인지 모르시겠다면 그게 맞는겁니다. 나는 나고 나라는건 나야 재귀적으로 자신을 말할때 저렇게 말할 수 있게됩니다. 무슨말인지 모르시겠다면 그게 맞는겁니다. 즉 자기 자신을 포함하는 것이라고 생각하시면 편할것 같습니다. 팩토리얼을 설명하는데 왜 재귀함수를 이야기하는지 모르시겠다구요? 여기서 팩토리얼의 공식을 조금 더 자세히 살펴보겠습니다. 이해를 돕기위해 n > 5 라고 가정할시 n! = n*(n-1)*(n-2)*(n-3)...... 2020. 2. 24.
팩토리얼 함수 코딩, 알고리즘 , Factorial Algorithm (반복함수) 팩토리얼은 n부터 1까지의 정수를 곱하는 단순한 연산이라고 할 수 있는데요 예시로 5!는 5 * 4 * 3 * 2 * 1 = 120 입니다 반복적인 곱의 연산 형태이며 알고리즘 코드로 구현 해보겠습니다. 자바로 구현 했으며, 물론 다른 언어도 방식은 똑같습니다. 반복함수를 사용하여 팩토리얼 코드 만들기 n! = n*(n-1)*(n-2).....(n-(n-1)) 에서 마지막에 곱해진는 정수가 1이 될때까지 곱셈을 합니다. 반복문이므로 for문과 while문중 하나를 선택해서 구현하는데 정해진 조건이 있으므로 for문을 사용하여 구현을 합니다. public static long factorial(int n) { // long형으로 반환 합니다. 길이가 짧으면 int형도 상관없습니다. int i = 0; //.. 2020. 2. 24.