ArrayList ArrayList는 기존의 Vector를 개선한 것, 구현원리와 기능적으로 동일하다 차이점으로는 Vector는 자체적으로 동기화처리가 되어있고 ArrayList는 동기화처리가 안되있다 데이터 저장공간으로 배열을 사용 ArrayList의 메서드 메서드 ArrayList() ArrayList(Collection c) ArrayList(int initialCapacity) 배열의 길이 boolean add(Object o) void add(int index, Object element) boolean addAll(Collection c) boolean addAll(int index, Collection c) boolean remove(Object o) void remove(int index)..
Collection Framework 다수의 객체(data)를 다루기위한 표준화된 프로그래밍 방식 (프로그램을 만들때 정해진 틀) 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공 객체(data)를 다룬다는 것은 저장, 삭제, 검색, 정렬을 말한다 java.util 패키지에 포함되있고 JDK 1.2부터 제공한다 타인이 짜둔 코드를 원하는대로 유지보수하기 어려워 특정 프레임워크를 사용하기 시작했다. 특정 프레임워크를 사용해서 프로그래밍을 짜면 다른사람이 봤을때 이해도가 높다. 라이브러리 Library 누군가가 미리 만들어 둔 정보 (오디오 라이브러리, 통계 라이브러리, 그래픽 라이브러리 등) Collection Framework 핵심 인터페이스 인터페이스 특징 구현 클래스 List 순서가 있는 데..
오버라이딩 (overriding) 상속받는 조상의 메서드를 자신(상속받은 클래스)에 맞게 변경하는 것 메소드 동작만을 재정의하는 것 선언부는 못바꾸고 구현부(내용)만 변경 가능 오버라이딩의 조건 선언부 (반환타입, 메서드이름, 매개변수 목록) 가 조상클래스의 메서드와 일치해야 한다. 접근제어자를 조상클래스의 메서드보다 좁은 범위로 변경할 수 없다. 예외는 조상클래스의 메서드보다 많이 선언할 수 없다. 실습 package pkg1; class MyPoint3 { int x; int y; String getLocation(){ return "X:"+x+", y:"+y; } } class MyPoint3D extends MyPoint3 { int z; // 조상의 getLocation()을 오버라이딩 Stri..
접근제어자 (access modifier) 객체지향에서 정보 은닉이란 사용자가 굳이 알 필요가 없는 정보는 숨겨야한다는 개념이다. 접근 제어를 통해 사용자는 최소한의 정보만으로 프로그램을 손쉽게 사용할 수 있고, 접근제어자를 사용하면 클래스 외부에서의 직접적인 접근을 허용하지않는 멤버를 설정하여 정보 은닉을 구체화할 수 있다. 접근제어자 종류 Public - 접근 제한이 전혀 없음 Protected - 같은패키지내에서, 다른 패키지의 자손클래스에서 접근 가능 Default - 같은 패키지내에서만 접근 가능 Private - 같은 클래스내에서만 접근 가능 Public public 접근 제어자를 사용하여 선언된 클래스멤버는 외부로 공개되고, 해당 객체를 사용하는 프로그램은 어디서나 직접 접근이 가능하다 자바..
상속 (Inheritance) 기존의 클래스를 재사용해서 새로운 클래스를 작성하는 것 두 클래스를 부모와 자식으로 관계 맺어주는 것 자식클래스가 상속받고싶은 부모클래스를 선택해서 물려받는다 자손은 조상(부모의 부모)의 모든 멤버를 상속받는다 (생성자, 초기화블럭 제외) 자식의 멤버 갯수는 부모보다 같거나 많다 자손의 변경은 조상에 영향을 미치지 않는다. Child class에 새로운 멤버를 추가해도 조상의 클래스에 영향을 받지않음 공통부분은 조상에서 관리하고, 개별부분은 자손에서 관리한다 Child class에만 존재하는 메서드는 부모, 조상클래스에서 사용할 수 없다 부모클래스는 여러개의 자식클래스에게 상속이 가능하고 자식클래스는 여러 부모로부터 다중 상속 받는것은 불가능하다 (단일 상속) 상속해주는 클..
소켓 네트워크 상에서 동작하는 두개의 프로그램간 양방향 통신의 하나의 엔드 포인트 프로그램이 네트워크에서 데이터를 통신할 수 있도록 연결해주는 역할 떨어져있는 두 호스트를 연결해주는 도구로서 인터페이스의 역할을 한다 데이터를 주고받을 수 있는 구조체로 소켓을 통해 데이터 통로가 만들어진다 엔드 포인트 아이피 주소와 포트 번호의 조합을 의미한다 예시로 최종목적지는 사용자의 디바이스 (PC, 스마트폰 등) 또는 서버가 될 수 있다 소켓 통신 서버와 클라이언트가 특정 포트를 통해 실시간으로 양방향 통신 방식 서버와 클라이언트가 실시간으로 데이터를 주고받는 상황이 필요할 때 사용된다 소켓이 된다는 이야기는 지속적으로 연결되있는 것이다 실시간 동영상 스트리밍이나 온라인 게임과 같은 경우에 자주 사용된다 HTTP ..