전체 글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. 이전 1 ··· 31 32 33 34 35 36 37 ··· 39 다음