전체 글160 2022-10-24 Arrays클래스, Stack / Queue, 검색 알고리즘 - 선형검색, 이진검색, 정렬 알고리즘 - 단순 선택 정렬 Arrays클래스 : 배열을 다루기 위해 만들어진 클래스 - 배열을 다루기 위한 다양한 메소드 포함 - 많은 메소드가 static메소드이다. - import java.util.Arrays; - Arrays.sort 이용하여 배열 정렬하기 import java.util.Arrays; public class ArraysTest { public static void main(String[] args) { int[] myarr = {19, 30, 89, 36, 82}; display(myarr); // 정렬 하지 않고 그대로 출력됨 // 배열의 모든 데이터를 오름차순으로 정렬, 매개변수로 정렬할 배열을 전달받음 Arrays.sort(myarr); display(myarr); // 정렬한 결과 출력됨 - Arra.. 2022. 10. 24. 2022-10-21 컬렉션 프레임웍 ArrayList / Vector, 스택과 큐 컬렉션 프레임웍 ArrayList - Vector를 개선한 것으로 컬렉션 프레임웍에서 가장 많이 사용되는 컬렉션 클래스 - List인터페이스를 구현하기 때문에 데이터의 저장순서가 유지되고 중복을 허용한다는 특징이 가진다. - Object배열을 이용해서 데이터를 순차적으로 저장한다. - 첫 번째로 저장한 객체는 Object배열의 0번째에 저장되고 두 번째로 저장하는 객체는 1번째 위치에 저장된다. 더 이상 저장할 공간이 없으면 보다 큰 새로운 배열을 생성해서 기존의 배열에 저장된 내용을 새로운 배열로 복사한 다음에 저장된다. - 사용 방법 ArrayList 이름 = new ArrayList (); ArrayList v = new ArrayList(); // 생성, int[] arr .. 2022. 10. 23. 2022-10-21 java.lang패키지와 유용한 클래스(API활용법) String클래스 - 클래스의 비교 public class StringTest01 { public static void main(String[] args) { String str1 = "java"; //리터럴의 형태로 접근 String str2 = "java"; String str3 = new String("java"); //객체 생성 String str4 = new String("java"); if(str1==str2) { //같다. System.out.println("same"); }else { System.out.println("not name"); } if(str1==str3) { System.out.println("same"); }else { System.out.println("not name".. 2022. 10. 22. 2022-10-18 객체지향언어 - 인터페이스, 예외처리방법 1. try-catch / 2. 예외선언하기(throw, throws) 인터페이스 : 추상메소드만 보관하는 특별한 클래스 => 인터페이스를 사용하면 다형성을 적용할 수 있으며 다중상속 받은 것처럼 구현할 수 있다. 1. 인터페이스는 정의할 때 interface키워드를 이용해서 정의 2. 인터페이스는 추상메소드만 정의할 수 있다. - 인터페이스에 정의하는 모든 메소드는 public abstract을 생략해도 된다. - 멤버변수는 상수로 public static final이다. - 하위클래스에서 오버라이딩하면 자동으로 public이 추가된다. 3. 클래스가 인터페이스를 상속할 때는 implements로 상속(구현) 4. 인터페이스가 인터페이스를 상속할 수 있다. - 인터페이스가 인터페이스를 상속하는 경우 extends를 이용 5. 클래스가 인터페이스를 상속하는 경우에는 다중상속.. 2022. 10. 22. 2022-10-17 객체지향언어 - 다형성. 추상클래스, 제어자 fanal 다형성 다형성을 이해하기 위해 알아야 할 것 1. 상속 2. 오버라이딩 3. 추상클래스(abstract, interface) 4. 객체의 형변환 - 조상클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있도록 하는 것. 반대로 자손타입의 참조변수로 조상타입의 인스턴스를 참조할 수는 없다. - 참조변수가 사용할 수 있는 멤버의 개수는 인스턴스 멤버 개수보다 같거나 적어야 한다. (자식이7개, 조상이5개이면 안 된다는 뜻) 참조변수의 형변환 : 사용할 수 있는 멤버의 갯수를 조절하는 것. - 서로 상속관계에 있는 클래스사이에서만 가능하다. => 자손타입의 참조변수를 조상타입의 참조변수로, 조상타입의 참조변수를 자손타입의 참조변수로의 형변환만 가능 => 부모객체에 자식객체를 담을 수 있다(부모 obj.. 2022. 10. 18. 2022-10-14 객체지향언어 - 생성자, 상속 생성자 -> opp.basic.constructor 패키지 : 생성자는 객체가 생성될 때 한 번!! 호출되는 메소드 ▶ 클래스타입 변수 = new 생성자메소드() ---------------------- ㄴ클래스 내부 - new연산자가 생성자 메소드를 보고 메모리에 할당할 클래스가 무엇인지 파악하고 생성자메소드를 호출해야 하므로 지켜야 하는 규칙이 존재한다. ▶ 규칙 1) 생성자를 정의하지 않으면 컴파일러가 자동으로 매개변수가 없는 생성자를 추가한다. => 매개변수가 없는 생성자를 기본생성자라 한다. 2) 생성자메소드는 항상 반환값이 없기 때문에 리턴타입을 명시하지 않는다.(void조차 명시하지 않음) 3) 생성자메소드명은 클래스명과 대소문자까지 동일하게 정의한다. 4) 생성자메소드에 매개변수를 추가할 .. 2022. 10. 17. 2022-10-13 객체지향언어 - 배열, 클래스 메소드(static메소드)와 인스턴스 메소드 배열 - 가변데이터는 배열에 저장하면 안 된다. 1. 배열의 선언 int[] arr; 2. 배열의 생성 arr = new int[3]; 3. 배열의 초기화 arr[0] = new String("java"); => 생성할 때 정의한 크기만큼 각각의 데이터를 저장할 수 있는 공간이 만들어진다. 이를 요소라고 하고 각 요소에는 index가 부여된다. 배열변수[index]=배열변수에 저장할 값 - 배열의 요소에는 초기값을 주지 않아도 자동으로 초기값이할당된다. int(정수) = 0 double(실수) - 0.0 boolean - false 참조형 = null 4. 배열의 선언과 생성을 동시에 int[] arr = new int[10]; 5. 배열의 선언, 생성, 초기화를 한 번에 int[] arr = {10, .. 2022. 10. 13. 2022-10-11~12 객체지향언어 - 메소드 작성방법, 호출, 오버로딩, 캡슐화, 생성자 +활용 객체지향언어 다양한 유형의 메소드 정의하기 1. 매개변수없고 리턴값이 없는 메소드 => *을 10개 출력하는 기능을 갖고 있는 메소드 => 외부에서 입력 받는 값이 없고 메소드 실행 결과값도 없다. => *을 10개 출력할 경우에만 사용할 수 있다. public void display() { for(int i=1; i 리턴값(메소드 실행결과)에 대한 타입을 메소드 선언부에 명시 => 반드시!! 메소드의 마지막 문장에 return명령문을 이용해서 결과를 리턴시켜야 한다 public int add(int num1, int num2) { //리턴값이 int이기 때문에 int add //return num1+num2; // 연산식이나 메소드 호출문을 직접 리턴값으로 사용가능 //return값이 있는 메소드는 리.. 2022. 10. 12. 2022-10-07 if, for, while,/do~while, break/continue, Frame, 객체지향언어, 지역변수/전역변수 Class의 구성요소 1) 필드 2) 메소드 3) 생성자 - if, for : 자바스크립트에서 했던 내용과 동일 - while,/do~while package statement; // while do~while 차이점 public class DoWhileTest { public static void main(String[] args) { int num= 10; while(num 2022. 10. 8. 이전 1 ··· 13 14 15 16 17 18 다음