전체 글 133

[JAVA] Collection

ArrayList ※계층도 숙지 중요 Collection |__ List |__ ArrayList, LinkedList * List 특징(ArrayList와 LinkedList의 공통점) 1. 중복 저장 허용 2. 저장 순서 유지 (인덱스 존재) ArrayList vs LinkedList - ArrayList 장점: 검색/조회 속도 n 번째 데이터에 대한 검색/조회 속도가 빠르다! 왜? 배열은 고정크기 연속된 메모리 공간에 있기 때문에 배열첨자연산 → 포인터 연산으로 매우 빠르게 n 번째 데이터 가져올 수 있다. - ArrayList 단점: 삽입, 삭제 배열이니까 length(데이터 개수) 범위 내에서 운용. 사용하지 않는 데이터에 대해서도 메모리에 차지하고 있다. 동적으로 데이터가 늘어나고 줄어드는 것..

JAVA 2022.02.17

[JAVA] Wrapper 클래스

Wrapper 클래스: 기본 자료형(primitive type)의 데이터를 감싸는 클래스 * 기본 자료형: boolean, char, byte, short, int, long, float, double * Wrapper: Boolean, Character, Byte, Short, Integer, Long, Float, Double * Wrapper 클래스는 String 과 마찬가지로 immutable(불변) 이다. public class Wrapper01Main { public static void main(String[] args) { System.out.println("Wrapper 클래스"); System.out.println("wrapper 클래스에 값을 저장하는 방법"); System.out.p..

JAVA 2022.02.17

[JAVA] 문자열 메소드

문자열 (String) 관련 메소드들 https://docs.oracle.com/javase/8/docs/api/java/lang/String.html - 문자열 메소드는 꼭 정독해보세요. - 매개변수의 의미, 동작의 의미, 리턴값의 의미 꼭 숙지해주세요 - 인스턴스 메소드 인지, 클래스 메소드(static)인지 구분 package com.lec.java.string01; import java.util.Arrays; import java.util.Scanner; /* 문자열 (String) 관련 메소드들 * * https://docs.oracle.com/javase/8/docs/api/java/lang/String.html * - 문자열 메소드는 꼭 정독해보세요. * - 매개변수의 의미, 동작의 의미, ..

JAVA 2022.02.17

[JAVA] 정규표현식

정규표현식 regular expression 문자열 검색, 치환 등의 동작에 있어서 단순한 '문자열 비교' 를 하는 것이 아니라 특정 '패턴'과 비교하고자 할때 이를 단 몇줄의 코드로 구현 가능! 주어진 문자열에서 패턴을 찾아내는 것을 '패턴 매칭(pattern matching)' 이라 함 사용자가 입력한 문자열 패턴 유효성 체크 등에 많이 사용 ex) 주민등록번호, URL, email, 비밀번호, 날짜포맷(yyyy-mm-dd) 전화번호(010-xxxx-xxxx) ... 자바는 java.util.regex 에서 관련 클래스들 제공 Pattern, Matcher .. 일반적인 작성단계 1) 주어진 정규표현식을 구현하는 Pattern 객체 생성 2) 패턴 매칭 수행객체 Matcher 생성 3) Matcher..

JAVA 2022.02.17

[JAVA] 예외처리

예외(Exception) 컴파일 에러 : 문법상 오류 예외(Exception) : 문법상의 오류가 아닌 '실행중' 에 발생되는 오류상황 (기본적으로) 예외 가 발생되면, 예외 관련 메세지 출력하고 프로그램이 종료 됩니다. public class Exception01Main { public static void main(String[] args) { System.out.println("예외(Exception)"); System.out.println("[1] ArithmeticException"); int num1 = 123; int num2 = 0; //System.out.println("num1 / num2 = " + (num1 / num2)); System.out.println("[2] ArrayInd..

JAVA 2022.02.16

[JAVA] 다형성, 추상 클래스, 인터페이스

* 다형성 ( Polymorphism ) 하나의 이름의 클래스나 메소드가 '여러 가지 형태의 동작을 하는 능력' 클래스의 다형성: 한 타입의 참조변수로 여러타입의 객체를 참조 가능. (참조변수는 주소 값을 저장) 조상클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조가능한 것 메소드의 다형성: 메소드 오버로딩, 메소드 오버라이딩 package com.lec.java.oop01; public class Vehicle { private int speed; public int getSpeed() { return speed; } public void setSpeed(int speed) { this.speed = speed; } public void displayInfo() { System.out.println..

JAVA 2022.02.09

[JAVA] 상속

상속 (Inheritance) 상위클래스를 상속받아서 하위클래스를 정의하는 방법 class 하위클래스 extends 상위클래스 자바 에선 오로지 '하나의 부모'로부터 상속받을수 있습니다 (단일 상속) 다중 상속 허용하지 않음 (용어) Super Class(상위 클래스), Parent Class(부모/조상 클래스), Basic Class(기본 클래스) Sub Class(하위 클래스), Child Class(자식 클래스), Derived Class(유도 클래스) ※ 상속받는다..(동사) inherit , subclass sub class에서는 super class가 가지고 있는 멤버 변수들은 선언하지 않아도 사용할 수 있다. super class에 없는 멤버 변수만 선언해 주면 됨 상속의 이점 : 상속을 통..

JAVA 2022.02.09

[JAVA] 접근제한자, final, static

접근권한 수식어(Access Modifier) 접근제한자 1) 종류: private, (default), protected, public 2) 기능 - 멤버 변수, 멤버메소드에 대한 접근 권한을 제한 3) private: '자기자신'이 선언된 클래스에서만 사용 가능 4) (default): '자기자신' + '같은 패키지'에 있는 클래스들에서는사용 가능 5) protected: '자기자신' + '같은 패키지' + '상속받은 클래스' 에서 사용 가능 다른 패키지의 클래스라도 '상속 받으면' 사용 가능하다 6) public: 어디서든 사용이 가능 사용범위: private < (default) < protected < public ※ 클래스에 붙는 접근제한자는 딱 두가지 입니다 (default) , public..

JAVA 2022.02.09