반응형 Java25 [Java] 다형성 목차 📢 다형성 한 객체가 여러 가지 타입을 가질 수 있는 것이다. 부모 클래스 타입의 참조 변수로 자식 클래스 인스턴스를 참조하는 것이다. class Person { public void print() { System.out.println("Person.print"); } } class CollegeStudent extends Person { public void print() { System.out.println("CollegeStudent.print"); } } public class Main { public static void main(String[] args) { Person p1 = new Person(); Student s1 = new Student(); //부모클래스 = 자식클래스(tru.. Java 2023. 8. 8. [Java] 상속과 오버라이딩 목차 📢 상속 기존 클래스에 기능을 추가하거나 재정의하여 새로운 클래스를 정의하는 것 (1) 부모 클래스 : 상속 대상이 되는 기존 클래스 (2) 자식 클래스 : 기존 클래스를 상속하는 클래스이다. 부모 클래스의 필드와 메소드가 상속된다.(생성자와 초기화는 상속되지 않는다.) 다중 상속은 불가능하다. private이나 default 멤버는 자식 클래스에서 접근 불가하다!! //class (자식) extends (부모) class Cat extends Animal { String desc; //자식 클래스 함수 표현 Cat() { super.desc = "고양이 입니다.";//super 이용 super("고양이 입니다.");//super() 이용 } } 📢 Super, Super() super : 부모 .. Java 2023. 8. 8. [Java] 클래스와 객체(2) 목차 📢 오버로딩 하나의 클래스 내에서 같은 이름을 가진 메소드가 있는 것 🔊 오버로딩의 조건 메소드의 이름이 같아야함 매개변수의 개수 또는 타입이 달라야함(리턴 타입의 차이로는 오버로딩이 진행되지 않는다.) class Car { String name; String type; Car(String name, String type) { this.name = name; this.type = type; } public void printCarInfo() { System.out.println("=== Car Info ==="); System.out.println("name: " + name); System.out.println("type: " + type); } // 오버로딩 구현 public void print.. Java 2023. 8. 8. [Java] 클래스와 객체(1) 목차 📢 클래스 객체를 정의하는 틀 또는 설계도와 같은 의미로 사용한다. 이러한 설계도인 클래스를 가지고, 여러 객체를 생성하여 사용하게 된다. 📌 클래스의 구성 필드(Field) : 객체의 상태를 나타낸다. 메소드(Method) : 객체의 행동을 나태냌고, 어떠한 특정 작업을 수행하기 위한 명령문의 집합이라고 한다. class Car{ String name; String type; public void printCarInfo(){ System.out.println("== Car Info =="); System.out.println("name = " + name); System.out.println("type = " + type); } public void move(){ System.out.println.. Java 2023. 8. 8. [Java] 컬렉션 프레임워크 목차 📢 컬렉션 프레임워크 여러 데이터를 편리하게 관리할 수 있도록 만들어 놓은 것이다. 자료 구조 및 알고리즘을 구조화 하는 것이다. 📰 List 인터페이스 순서가 있는 데이터의 집합 데이터의 중복을 허용 대표 구현 클래스 (ex. ArrayList, LinkedList, Vector) 💻 ArrayList 인터페이스 public class Main { public static void main(String[] args) { ArrayList list1 = new ArrayList(); list1.add(1); list1.add(2); list1.add(3); System.out.println("list1 = " + list1); list1.remove(Integer.valueOf(2)); //데이터 .. Java 2023. 8. 7. [Java] 파일의 입출력 📢 파일 출력 FileWriter FileWriter fw = new FileWriter("./memo.txt"); String memo = "헤드라인\n"; fw.write(memo);//★ 줄바꿈("\n") 확인 필요!~! fw.close(); //파일 쓰기가 끝나면 꼭 close 해줘야한다!! PrintWriter PrintWriter pw = new PrintWriter("./memo.txt"); memo = "헤드라인"; pw.println(memo); //FileWriter와 다르게 println이 있기에 "\n" 생략 pw.close(); FileWriter 이어쓰기 FileWriter fw2 = new FileWriter("./memo.txt",true); //true : 이어쓰기를 진행하.. Java 2023. 8. 7. [Java] 콘솔 입출력 📢 콘솔 입력(Reader) 입출력 방식 중 콘솔로 입력하는 방법 System.in System.out.print("입력 :"); int a = System.in.read() - '0'; //아스키코드 -> 숫자로 변환해주는 부분 System.out.println("a = " + a); System.in.read(new byte[System.in.available()]); //남아있는 데이터를 없애지 않으면 다음 시퀀스에서 작동이 된다. 2. InputStreamReader : 문자(Character) 입력 InputStreamReader reader = new InputStreamReader(System.in); char[] c = new char[3]; System.out.print("입력: "); .. Java 2023. 8. 6. [Java] 예외처리 📢 예외(Exception) 정상적이지 않은 케이스 📢 예외 처리(Exception Handling) 정상적이지 않은 case에 대한 적절한 처리 방법 try{ int a = 5 / 0; } catch (ArithmeticException e) { System.out.println("0으로 나누기 예외 발생"); System.out.println("e = " + e); } 📢 Finally 예외 발생과 상관없이 항상 실행되는 부분 /** try{ int a = 5 / 0; } catch (ArithmeticException e) { System.out.println("0으로 나누기 예외 발생"); System.out.println("e = " + e); } */ finally { System.out.pr.. Java 2023. 8. 6. [Java] 배열의 의미와 종류 📢 다차원 배열 2차원 이상의 배열을 의미하며, 배열 요소로 또 다른 배열을 가지는 배열이다. 해당 배열의 Length를 통해서 출력이 가능 int[][] iArray2 = {{1,2,3},{4,5,6}}; System.out.println("iArray2[1][2] = " + iArray2[1][2]); for (int i = 0; i < iArray2.length; i++) //행의 갯수로 판단 { for (int j = 0; j < iArray2[i].length; j++) //각각의 열의 갯수 { System.out.println(iArray2[i][j]); } } 📢 일차원 배열 동일한 자료형의 변수가 연속된 메모리 공간에 할당 해당 배열의 Length를 통해서 출력이 가능 int[] iArra.. Java 2023. 8. 5. [Java] 여러 가지 연산자 📢 항에 갯수에 따른 연산자 단항 연산자 : 항이 1개 이항 연산자 : 항이 2개 삼항 연산자 : 항이 3개인 경우 int a = 100; String strResult = (3 > 1) ? "yes":"no"; System.out.println("strResult = " + strResult);//결과가 참이기 때문에 strResult = yes 📢 대입 및 부호를 이용하는 연산자 대입 연산자 : 우측 데이터를 좌측의 변수에 대입 (ex. int i = 0;) 부호 연산자 : 부호를 나타내는 연산자(ex. -1) 산술 연산자 : 사칙연산(+,-,*,/) 및 나머지(%) 연산 증가/감소 연산자 : 값을 1만큼 늘리거나(++), 1만큼 줄임(--) (ex. num++) 관계 연산자 : 두 항의 크기를 비교.. Java 2023. 8. 4. [Java] 조건문과 반복문 📢 조건문- if 조건에 따라 무엇을 실행할지 판단하는 구조 int i = 99; if (i >= 100) { System.out.println("100보다 같거나 큽니다"); } else { System.out.println("100보다 같거나 크지 않습니다."); } 📢 조건문- Switch 입력 값에 따라 어떤 case를 실행할 지 판단하는 구조 String str = "Hello"; switch (str) { case "Hello": System.out.println(str + "영어입니다."); break; case "안녕하세요": System.out.println(str + "한국어입니다."); break; default: System.out.println(str + "어떤 말인지 모릅니다.".. Java 2023. 8. 3. [Java] 변수와 자료형 📢 변수와 자료형 📃 변수(Variable) - 데이터를 저장하는 메모리 공간에 붙여준 이름 int age = 10; //정수형 String Country = "Korea"; //문자열 📃 변수의 특징 🧨 숫자로 시작 X (ex. int 1age = 1;) 🧨 공백 사용 X (ex. int a bcd = 2;) 🧨 조건문 및 참/거짓은 사용 불가능 (ex. int false = 0;) 🎯 숫자(Number) : 정수/실수/2진수,8진수,16진수 int i = 10; float floatNum = 1.f; //float형은 'f'를 반드시 기입 double doubleNum = 0.51; 🎯 참/거짓(Boolean) : true or false boolean isTrue = true; System.out... Java 2023. 8. 2. 이전 1 2 3 다음