본문 바로가기

공부95

자바(java)의 오버로딩(Overloading) 메소드 오버로딩(Overloading) - 메소드 확장 매개변수의 타입과 갯수를 다르게 함으로서 함수의 기능을 확장하는 것을 말한다. 이를 사용하면 함수를 계속 만들지 않고, 기존에 있는 함수의 매개변수를 달리함으로서 계속 사용 가능하다. static void echo() { //메아리처럼 콘솔에 출력해주는 함수 System.out.println("echo"); } static void echo(int param){ System.out.println("echo:"+param); } 위의 함수를 생각해보자. 함수의 이름이 똑같으나, 밑의 함수는 pram이라는 매개변수를 갖는다. echo(); echo( 10 ); 출력값: 홍길동 홍길동:10 이 기능을 통해 우리는 println에 문자열형과 정수형, 실수형.. 2023. 1. 23.
자바(java)의 정렬 알고리즘(버블, 선택, 삽입) 정렬 알고리즘. 기초적인 방법 : 버블정렬, 선택정렬, 삽입정렬 ***Array.sort()함수는 듀얼피봇 퀵정렬이라는 방식을 사용함. 가장 빠르고 효율적이지만 너무 어려운 내용이라 그냥 넘어간다. 버블정렬 가장 비효율적이지만 만들기 쉽고 간단해서 많이 쓰인다. 인덱스 0 부터 인덱스 끝까지 대/소를 비교하고, 만약 상대가 더 크거나 작다면 자신과 데이터를 교환하는 방식. 교환하고도 계속 비교 하지만, 이때도 기준은 인덱스다. 예를 들어보자. 배열 a[ ]를 오름차순으로 정리하고 있다. a[2]의 값을 a[3], a[4] ... a[n]까지 계속 비교하는 도중, a[10]이 자신보다 더 작다는 것을 발견했다. 그럼 이어서 a[2]의 데이터와 a[10]의 데이터를 맞교환한다. 그리고 이어서 바뀐 a[2]를.. 2023. 1. 23.
자바(java)의 열거형 표현 열거형 열거형: 함수 밖, 클래스 안에서 선언하는 형식 어떤 값을 1이나 2처럼 숫자로 정의하기보다, 문자로 값을 정의하면 가독성이 향상되는 경우 사용한다. 다만 거의 쓰이지 않는다. 예) 문자 야구게임: 0== 스크라이크 1== 볼 변경 전) if( ball == 0 ) => 스트라이크 변경 후) if( ball == Ball.Strike ) 형식 enum 열거형이름 { 상수1, 상수2, ... } //; 을 안쓴다. 순서에 맞추서 정수값이 부여된다. // 정수값 0 1 2 enum Hero { Ironman, Superman, Batman } enum SRP { Sissors, Rock, Paper } enum Ball { Strike, Ball } 열거형 타입을 정수로 출력하고 싶으면 ordinal.. 2023. 1. 23.
자바(java)의 배열 배열(Array) 만들기 배열은 데이터 나열이 하나로 묶어 연속된 메모리 주소에 저장하는 것이다. 파이썬의 인덱스와 같은 개념. 같은 타입의 데이터를 연속된 공간에 나열한 뒤, 각 데이터에 순차적으로 인덱스를 부여해 다루기 쉽게 만든 데이터 구조다. 만약 1,2,3,4,...10의 숫자가 있다고 가정 하면, 이것을 하나 하나 새로운 변수에 할당하는 대신 10칸으로 나눠진 하나의 통에 넣는거라고 생각하면 된다. 정수형, 문자형 데이터 모두 배열형으로 표현할 수 있지만, 타입이 다른 두 데이터를 하나의 배열에 넣는 것은 불가능하다. 정수형 배열 1. 선언과 동시에 초기화. int[] arrayNum1 = { 10, 20, 30 }; System.out.println( arrayNum1[0] ); //인덱스 .. 2023. 1. 23.