배열과 컬렉션즈 프레임워크 배열 선언 시 배열이 가지고 있는 값을 지정해야 함 - 몇 개의 데이터가 있는지 알고 있을 때만 사용 가능함String[] arryObj = new String[2];arryObj[0] = "one";arryObj[1] = "two";arryObj[2] = "tree" // 오류 발생// 배열 나열 방식for(int i=0; i ArrayList의 사용법생성할 때 몇 개의 데이터를 사용할 것인가 지정하지 않아도 됨import java.util.ArrayList;...ArrayList al = new ArrayList(); // 제네릭 타입으로 String 으로 받아주면 String으로 저장됨al.add("one");al.add("two");al.add("tree");//ad..
jjuya
어떠한 객체가 인터페이스를 사용한다면 인터페이스의 시그니처 메서드를 반드시 구현해야 한다interface I{ public void z(); // 중괄호 작성하면안됨}class A implements I{ public void z(){}}// 클래스 A 는 인터페이스 I를 구현한다 인터페이스(Interface)란?자바에서 인터페이스는 클래스들이 필수로 구현해야 하는 추상 자료형입니다.간단히 말해, 객체의 사용방법을 가이드라인 하는 것인터페이스는 추상 메서드와 상수로만 이루어져 있음 인터페이스 규칙하나의 클래스가 여러 개의 인터페이스를 구현할 수 있다.interface I1{ public void x(); }interface I2{ public void z(); }class A i..
추상 클래스란?객체를 생성할 수 있는 클래스들의 공통적인 필드나 메서드를 추출해서 선언한 클래스실제 클래스의 부모 역할을 한다public abstract class 클래스명{ // 필드 // 생성자 // 메소드}클래스 선언에 abstract 키워드를 붙여준다추상 클래스는 new 연산자를 이용해서 객체를 직접 만들지는 못하고 상속을 통해 자식 클래스만 만들 수 있음abstract void(); {}이 없는 메서드를 가진다(선언 부만 있고 구현 부가 없는 메서드) 추상메서드와 재정의// 추상 클래스abstract class pet{ abstract public void walk(); abstract public void eat(); public int health; p..
싱글톤 패턴이란?객체의 인스턴스가 오직 1개만 생성되는 패턴생성자를 private 접근 제한해서 외부에서 new 연산자로 생성자를 호출할 수 없도록 막는 것대신, 싱글톤 패턴이 제공하는 정적 메서드를 통해 간접적으로 접근이 가능하다.public class Singleton { private static singleton instance = new Singleton(); private Singleton(){} public static Singleton getInstance() { return instance; }} 싱글톤 패턴을 사용하는 이유한 번의 객체 생성으로 재사용이 가능하기 때문에 메모리 낭비를 방지할 수 있다싱글톤으로 생성된 객체는 전역성을 띠기 때문에 다른 객..
자바의 문자열은 String 객체로 생성된다 String은 객체자바에서 String은 참조형 변수로 분류된다.즉, 스택 영역이 아닌 힙에서 문자열 데이터가 생성되고 다뤄진다는 말이다String name = "홍길동"//첫글자가 대문자! String 주소 할당 방식 리터럴을 이용한 방식new 연산자를 이용한 방식String st1 = "Hello" //문자열 리터럴을 이용한 방식String st2 = "wold"String st3 = new String("Hello")String st4 = new String("wold") JVM(자바 가상머신) 메모리 내부적인 측면에서 큰 차이가 있다. Java.lang 패키지 String 함수equals(), 문자열 비교하기(feat. ==) String name1 ..
기본 타입(primitive type) 과 참조 타입(reference type)으로 분류할 수 있음 기본타입(Primitive type) 타입 할당되는 메모리 크기 기본값 데이터의 표현 범위 논리형 boolean 1 byte false true, false 정수형 byte 1 byte 0 -128 ~ 127 short 2 byte 0 -32,768 ~ 32,767 int(기본) 4 byte 0 -2,147,483,648 ~ 2,147,483,647 long 8 byte 0L -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 실수형 float 4 byte 0.0F (3.4 X 10-38) ~ (3.4 X 1038) 의 근삿값 double(기본) 8 b..
예외란?예외는 Checked Exception 와 Unchecked Exception 크게 두 가지로 나뉘게 된다그리고 예외와는 별개로 오류(error)가 있다. 오류란?컴퓨터 하드웨어의 고장으로 인해 응용프로그램 실행 오류가 발생하는 것을 자바에서는 에러라고 한다시스템 레벨에서 발생하는 비정상적인 행위이기 때문에 이름 미리 예측해서 막을 수도 신경 쓸 필요도 없다그렇다면 예외란 무엇일까?개발자가 로직을 잘못 짜거나 혹은 사용자가 잘못된 값을 넘겨 정상적은 프로그램 흐름에서 벗어나는 행위를 말한다그래서 미리 예측해서 예외를 잡을 수 있다. Checked Exception vs Unchecked ExceptionRuntimeException 를 상속받는 예외는 Unchecked Exception이며,반..
제네릭 결정되지 않은 타입을 파라미터로 처리하고,실제 사용할 때 파라미터의 구체적인 타입으로 대체 시키는 기능 타입 파라미터는 일반적으로 대문자 알파벳 한 글자로 표현한다 - 보통은 T부터 해서 순서대로 사용Java 5부터 새로 추가됨class Person{ public T info;} T라는 데이터 타입을 결정하지 않고 있다가Person p1 = new Person(); Person을 인스턴스화할 때 String으로 사용하겠다..! : info의 데이터 타입은 String: p1의 데이터 타입은 String Person p2 = new Person(); Person을 인스턴스화할 때 StringBuilder으로 사용하겠다..! : info의 데이터 타입은 StringBuilder: p2의 데이터 ..
확장 for 문JDK 1.5 이상부터 배열과 컬렉션에 저장된 요소에 기존 for 문보다 접근하기 편리한 방법으로 처리할 수 있도록 새롭게 추가됨.-> 배열이나 컬렉션 자료를 뽑을때 편리하게 사용 formula for(1.데이터형 2.변수명 : 3.배열 또는 컬렉션 변수명){ // 배열 또는 컬렉션에 저장된 값이 매 반복마다 하나씩 순서개로 읽혀저 변수에 저장됨 //해당 구역에는 2번의 변수를 가지고 "기능정의"}변수명의 데이터 타입은 배열또는 컬렉션에 들어가 있는 자료의 타입과 동일하다 for문이 돌때마다 배열또는 컬렉션의 요소 하나씩을 꺼내서 넣어줄 변수(그릇)**요소 : 배열안에 들어있는 하나의 값 List studentList = new ArrayList(); for(Student s..
상수변하지 않는 값int x = 1; // x: 변수 // 1: 상수 enumjava 1.5부터 사용한 기능 열거형 (enumerated type)서로 연관된 상수들의 집합Class Fruit{ public static final Fruit APPLE = new Fruit(); public static final Fruit PEACH = new Fruit(); public static final Fruit BANANA = new Fruit();}// 인스턴스화 - 생성자 호출enum Fruit{ //열거를 위해 만들어졌다는걸 유추해볼수 있음 APPLE("red"), PEACH("pink"), BANANA("yellow"); // ("") : 생성자 호출 하는 방법 priva..