Java

Java

[Java] 예외처리 (try ~ catch)

try ~ catch 예외가 발생할 때 그에 맞는 적절한 처리가 가능하다. 어떤 예외가 발생할지 모를 때는 catch(Exception e) 사용 try { ... } catch(예외1) { ... } catch(예외2) { ... } finally finally : 예외가 발생여부에 상관없이 공통적으로 수행되어야 할 코드 try { ... } catch(예외1) { ... } catch(예외2) { ... } finally { ... } throws throws : 예외던지기. 예외를 당장 처리하지 않고, 자신을 호출한 로직에서 처리되게끔 던지는 기능 (특정 로직에서 특정 예외를 공통적으로 처리하고자 할 때 사용) class Main { public static void main(String[] arg..

Java

[Java] 접근제한자(private)

클래스, 멤버 변수, 메서드, 생성자에서 사용 가능 private = 외부에서의 호출 불가, 같은 클래스 내에서만 접근 가능 public = 접근 제한 없음 (default) = 같은 패키지 내에서 접근 가능 protected = 같은 패키지 내에서, 다른 패키지의 자식 클래스에서 접근 가능 기본적으로 private로 세팅하고 외부에 공개할 것만 public 보통 클래스 안의 변수는 private로 하고 세팅용, 접근용 메서드를 사용하여 접근함 class Main { public static void main(String[] args) { 사람 a사람 = new 사람(); a사람.setId(20); System.out.println("제 번호는 " + a사람.getId() +" 입니다."); // 출력 ..

Java

[Java] 인터페이스

인터페이스 인터페이스를 사용하여 자바의 다형성을 극대화할 수 있다. 다중 상속 가능 추상 메서드와 상수만 사용 가능 생성자 사용 불가 : 인터페이스 객체가 아니므로 생성자 사용 불가 메서드 오버라이딩 필수 : 자식클래스는 부모 인터페이스의 추상메서드를 모두 오버라이딩 해야함 인터페이스에는 private 사용 불가능 public class Main { public static void main(String[] args) { 사람 a사람 = new 홍길동(); 변호사 a변호사 = (변호사)a사람; 치과의사 a치과의사 = (치과의사)a사람; 성화봉송자 a성화봉송자 = (성화봉송자)a사람; } } abstract class 사람 { } class 홍길동 extends 사람 implements 변호사, 치과의사,..

Java

[Java] 생성자(Constructor), super메서드

생성자(Constructor) 객체가 생성될때 자동으로 호출되는 특수 목적의 메소드로 객체의 초기화를 위해 사용 생성자 메서드의 이름은 클래스 이름과 같아야함 생성자는 객체가 생성될 때 자동으로 한번 호출됨 클래스에 최소 1개는 존재해야하고, 생성자를 작성하지 않았다면 기본 default 생성자를 자동으로 생성 생성자 오버로딩 가능 : 하나의 클래스 안에 같은 이름의 생성자 메서드가 존재할 수 있지만 매개변수가 달라야 함 class 전사 { String 이름; int 나이; 전사() { // 생성자 이름 = 전사; 나이 = 20; } 전사(String 이름, int 나이) { // 생성자 오버로딩 } } 생성자 연쇄 호출 모든 class는 Object클래스의 자식클래스. 모든 클래스는 default 생성..

Java

[Java] ArrayList 클래스와 ArrayList 메서드

​ ArrayList 클래스 import java.util.ArrayList; ArrayList import 필요 ​ ArrayList 메서드 삽입, 추출, 개수 .add(인덱스, 값) 리스트의 특정 인덱스에 값 삽입 .get(인덱스) 리스트의 특정 인덱스의 값 추출 .size() 리스트의 개수를 반환 항목 삭제 .remove(객체) 리스트에서 객체에 해당되는 항목을 삭제하고 삭제한 결과(true, false)를 반환 .remove(인덱스) 리스트에서 해당 인덱스의 항목을 삭제하고 삭제한 항목을 반환 list.remove(Integer.valueOf(1)) // 인덱스가 아닌 객체 -> value가 1인 element 삭제 ​ 검색 list.contains(객체) 리스트 안에 객체가 있는지 여부 검색 l..

Java

[Java] Arrays 클래스와 Arrays 메서드

Arrays 클래스 import java.util.Arrays; Arrays import 필요 Array 메서드 arrays.asList(arr) : 배열을 ArrayList로 변환 (리스트 형태) - 아래의 ArrayList 메소드를 더하여 활용 가능하다 배열 출력 Arrays.toString(arr) : 배열의 출력 Arrays.deepToString(arr) : 다차원 배열의 출력 배열 복사 Arrays.copyOf(arr, arr.length) : 배열 전체 복사 Arrays.copyOfRange(arr, 시작인덱스, 끝인덱스) : 배열의 일부를 복사 배열 정렬 Arrays.sort(arr) : 사전순 정렬 sort(arr, comparator) : 오름차순/내림차순 정렬 comparator에 C..

Java

[Java] 상속과 구성

객체지향은 중복코드를 없애기 위해서 존재한다. 객체지향적인 구조를 위해서 일부러 중복코드를 허용하는 경우도 있다. 다형성 = 같은 타입이지만 실행결과가 다양한 객체를 이용할 수 있는 성질. 하나의 타입에 여러 객체를 대입하여 만든다. 상속(Inheritance) 부모클래스를 상속하는 자식클래스는 부모클래스의 기능을 그대로 물려받아 중복코드를 제거할 수 있다. 이후 유지보수가 편해지며 다형성을 구현할 수 있는 장점이 있다. 자식클래스에 메서드를 추가하여 부모클래스의 기능을 확장할 수 있다. extends 키워드 사용 class 오리 { void 날다(); void 수영하다(); } class 흰오리 extends 오리{ void 걷다(); } IS-A 관계 흰오리는 오리이다 처럼 말할 수 있는 관계를 IS..

Java

[Java] 반복문(while, for)

while문 while (조건문) { ; ; ; ... } 무한루프 - 조건문이 참인 동안 계속 반복해서 수행 - Ctrl+C 를 통해 무한루프 문을 빠져나갈 수 있다. while (true) { ; ; ... } break; - 강제로 반복문을 빠져나감 continue; - 반문의 맨 처음으로 돌아감 for문 for(초기값; 조건문; 증가값){ 수행할 명령; } for each 문 iterate는 루프를 돌릴 객체이고 객체에서 한개씩 var에 대입되어 for문이 수행됨 (배열 및 ArrayList 등 루프를 돌릴 수 있는 자료형만 가능) for (type var: iterate) { 수행할 명령 }

Java

[Java] 조건문 (if, else if, switch-case)

if - else if 문 if (조건1) { ; ; ... } else if(조건2) { ; ; ... } else { ; ; ... } switch/case 문 switch(입력변수) { case 입력값1: ... break; case 입력값2: ... break; ... default: ... break; } 예시 public class Sample { public static void main(String[] args) { int month = 8; String monthString = ""; switch (month) { case 1: monthString = "January"; break; case 2: monthString = "February"; break; case 3: monthStri..

Java

[Java] 자료형 - 배열과 리스트

배열 배열은 자료형의 집합니다. 배열은 자료형 타입 바로 옆에 []기호를 사용하여 표현한다 자료형[] = {}; 초기값없이 배열 변수를 만들때는 반드시 배열 길이를 설정해야한다 배열값에 접근할 땐 인덱싱을 이용한다 (0부터 시작) .length를 이용해 배열의 길이 정보를 알 수 있다. int[] odds = {1, 3, 5, 7, 9}; String[] weeks = {"월", "화", "수", "목", "금", "토", "일"}; String[] weeks = new String[7]; // 배열 길이 설정 String[] weeks = new String[]; // 길이에 대한 정보가 없으므로 오류발생 weeks[3]; // 인덱스가 3인 요소 "목" weeks.length // 배열의 길이 = 7..

jny0
'Java' 카테고리의 글 목록 (2 Page)