본문 바로가기

전체 글343

자바 오류, 람다, API - 학원 람다복습 ​ 오류의 종류 에러(Error) : 개발자가 해결할 수 없는 문제 (코드로 수습 불가) 예외(Exception) : 개발자가 해결 가능한 문제 (코드로 수습 가능) ​ 예외의 발생 시점 확인된 예외(checked exception) 컴파일 단계에서 발생하는 예외(이클립스 빨간줄) 미확인 예외(unchecked exception) 프로그램 실행 중(런타임) 발생하는 예외 ​ 예외 처리 예상되는 예외를 적절한 처리를하여 비정상적인 종료를 막는다. ​ 예외 처리 문법 ​ try{ 실행할 명령문 }catch(예외이름 변수명){ 예외를 처리하는 명령문 }catch(예외이름 변수명){ 예외를 처리하는 명령문 }.... }finally{ 오류 발생 여부에 상관없이 무조건 실행할 코드 } ** catch는 .. 2022. 10. 3.
자바 내부 클래스, 외부 클래스, 람다식 - 학원 ​ # 내부 클래스(Inner Class) 클래스 내부애 선언된 클래스를 내부 클래스라고 한다. 내부 클래스를 가진 클래스를 외부 클래스라고 한다. ​ 클래스를 구성하는 멤버로 변수, 메소, 생성자 뿐만 아니라 클래스도 가질 수 있다. 만약 B 클래스를 A클래스에서만 사용한다면 B클래스를 내부클래스로 만들어 사용한다. ​ 외부 클래스가 메모리에 할당되야 내부 클래스의 객체화가 가능하기 때문에 B를 별도로 사용하지 못한다. 내부 클래스는 외부 클래스의 멤버이기 때문에 외부 클래스의 멤버를 상속없이 사용할 수 있다. ​ 내부 클래스의 종류 - 인스턴스 내부 클래스 - 스태틱 내부 클래스 - 로컬 내부 클래스 ​ ​ ​ # 익명 클래스(Anonymous Class) 이름이 없는 클래스 ​ ​ # 함수형 인터페.. 2022. 10. 3.
자바 - 추상메소드, 추상클래스, 인터페이스 - 학원 # 추상 메소드 ​ 메소드를 선언만하고 구현을 하지않은 것을 추상 메소드라고 한다.(마완성된 메소드) ex) abstract void 메소드명(매개변수) 1. abstract 키워드를 사용한다. 2. 마지막에 세미콜론을 써야한다. ​ ​ # 추상 클래스 ​ abstract 카워드가 붙은 클래스는 추상 클래스이며 , 추상 메소드가 한 개 이상 있는 클래스는 반드시 추상 클래스로 선언한다.(미완성된 클래스) ex) abstract class 클래스명 { abstract void 매소드명(매개변수) *일반 메소드도 선언 가능 } 1. abstract 키워드를 사용한다. 2. 객체화 시킬 수 없다. ​ ** 미완성된 메소드(추상 메소드)는 상속받은 자식 클래스에서 반드시 재정의하여 구현을 해야만 해당 클래스를 .. 2022. 10. 3.
자바 접근 권한 제어자, Casting -학원 # 접근 권한 제어자(접근자) ​ 주로 클래스의 멤버(변수, 메서드)에 접근을 제어하기 위해 사용한다. ​ public : 모든 곳에서 접근 가능, 대표 클래스를 의미할 때 사용 protected : 다른 패키지에서 접근 불가, 자식은 허용 default : 다른 패키지에서 접근 불가 ( 별도로 명시하지 않고 접근제어자 생략시 자동으로 default가 됨) private : 다른 클래스에서 접근 불가, 메소그로만 접근하자! (getter, setter) ​ //alt shift s -> r 접근 권한 제어자 설정하기 ​ ​ # Casting ​ up casting : 자식 값을 부모 타입으로 형변환 down casting : 이미 up casting된 값을 다시 자식 타입으로 형변환 ※ 부모 값을 자식 .. 2022. 10. 3.
자바 상속 - 학원 상속(inheritance) 1. 기존에 선언된 클래스의 멤버(생성자는 제외)를 새롭게 만들 클래스에서 사용하고 싶을 때 상속을 받고 새로운 기능만 추가한다. 2. 여러 클래스 선언 시 멤버가 겹치는 경우, 부모 클래스를 먼저 선언하고 공통멤버를 자식 클래스에게 상속해준다. ​ ​ 상속 문법 ​ class Parents{ Parents멤버 } ​ class Child extends Parents{ Parents, Child 멤버 } ​ ​ super : 부모의 참조값 부모의 멤버에 접근할 때 사용한다. ​ super() : 부모 생성자 자식 클래스 타입의 객체로 부모 필드에 접근할 수 있다. 우리는 객체를 만들 때 자식 생성자만 호출하기 때문에, 자식 필드만 메모리에 할당된다고 생각할 수 있다. ex)C.. 2022. 10. 3.
자바 학원 필기 9 # 2022.09.02 //art shift a 커서 키워서 한번에 지우기 ​ # 다마고치 문제 복습 ​ ​ package day08; ​ import java.util.Scanner; ​ class Creature { // 캐릭터 이름 String name; // hp int hp; // 밥먹은 수 int eatCnt; // 턴 int turn; // 변 boolean poo; ​ ​ ​ ​ ​ public Creature(String name, int hp) { this.name = name; this.hp = hp; } ​ // 먹기 : 턴을 1중가, hp 2증가 void eat() { this.turn++; this.hp += 2; this.eatCnt++; } ​ // 자기 : 3초 동안 잠에 .. 2022. 10. 3.
자바 클래스 - 학원 # 클래스 ​ 객체지향 프로그래밍(Object Oriented Prigramming) 이란? (OOP) 추상화된 클래스로 객체를 만들고 객체들 간의 관계를 맺어 상호작용하는 프로그래밍 기법 ​ 추상화란? (객체 모델링) 공통적인 특징을 파악하여 하나의 묶음으로 만들어내는 것 ​ 클래스 1. 사용자 정의 타입이다. - 클래스를 사용하면 여러 타입, 여러 값을 저장할 수 있는 저장공간을 만들 수 있다. - 클래스 안에 선언된 변수와 메서드를 서용하고 싶다면, 해당 클래스 타입으로 변수를 선언해야 한다. ​ 2. 연관성 있는 저장공간과 기능을 한 곳에 모아 편하게 관리할 수 있다. - 저장공간과 기능을 나누어 관리하게되면 코드가 길어졌을 때 사용하기 불편하다. 이때 연관되는 저장공간과 기능을 클래스로 묶어서 .. 2022. 10. 3.
자바 학원 필기 7 # 메소드 ​ 자료형 메소드명(매개변수){ 실행할 코드; return 리턴값; } 변수명.메소드명() ​ 함수와 메소드 클래스 밖에 선언되어 있다면 함수라고 부르지만 클래스 내부에 선언되어 있는 함수는 메소드라고 부른다. 자바에서는 모든 함수가 클래스 내부에서 선언되기 때문에 메소드만 존재한다. 개념 상 함수가 메소드보다 더 큰 범주이므로 메소드를 함수라고 불러도 되지만, 자바는 메소드만 존재하므로 메소드라고 부르는게 좋다. ​ 메소드 기능 이름 뒤에 소괄호. 단, 키워드 뒤에 소괄호는 메소드가 아니다. ​ ​ 메소드 선언과 구현 리턴타입 메소드명(자료형 매개변수명, .....) 2022. 10. 3.
자바 배열 실습문제, 메소드 # 배열 실습문제 ​ ​ - 1. ​ package day06; ​ public class ArrayTest { ​ public static void main(String[] args) { // 배열 선언 후 1~10까지 값 넣기 // int ar[] = new int[5]; 가능 ​ int[] arData = new int[10];// 이 방식으로 사용하자. (java) ​ for (int i = 0; i < arData.length; i++) { arData[i] = i + 1; } for (int i = 0; i < arData.length; i++) { System.out.println(arData[i]); } } ​ } ​ ​ - 2. ​ package day06; ​ import java.ut.. 2022. 10. 3.