
java String
java
java

java

java
java
java
java

java

java
this 파이썬을 잘 안다면, 파이썬의 self와 대응되는 기능이다. this는 self처럼 인스턴스 자신을 가르킨다. 위의 코드에서 만약 멤버변수 balance가 money이고 deposit, withdraw 메소드의 입력또한 money이면 어떻게 될까? money += money;, money -= money;와 같은 코드들이 생겨날 것이다. 같은 ...
절차지향 프로그래밍 절차지향 프로그래밍은 추상적인 개념이다. 흑백처럼 절차지향이냐 아니냐로 구분할 수도 없다. 중요한 것은 우리는 객체지향 프로그래밍을 지향해야한다는 것이고 반대편에 존재하는 절차지향 프로그래밍을 이해하여 객체지향의 이해도를 높힐 수 있다는 것이다. 간단한 프로그래밍 요구조건이 주어진다. Radio를 켜고 끌 수 있고 volume을 올리거...

기본형과 참조형 우리가 현재까지 공부한 선언문에 쓰이는 int, String, double...과 같은 형태에서 소문자로 시작하는 int, double같은 경우는 기본형 클래스이다. 반면 String이나 우리가 커스텀으로 만드는 클래스같은 경우는 맨 앞에 대문자가 붙는 참조형 클래스이다. 특수하게 String은 참조형이지만 기본형처럼 쓰인다. 이 둘의 차...
java

JAVA
기본형의 한계 자바는 객체 지향 언어로 대부분의 데이터가 객체의 특성을 가지지만, int와 double과 같은 기본형 타입(Primitive Type)은 객체가 아니기 때문에 몇 가지 단점이 존재한다. 기본형 타입의 단점 객체 특성 사용 불가 객체는 유용한 메서드를 제공하거나 참조를 활용할 수 있지만, 기본형 타입은 이러한 특성을 사용할 수 없다. ...
java
java.time
중첩 클래스의 종류 정적 중첩 클래스(중첩) 내부 클래스(내부) 지역 클래스(내부) 익명 클래스(내부) 중첩 클래스 Nested(중첩) 클래스는 내부에 존재하지만 외부 클래스와 독립적인 느낌을 준다. 반면, Inner(내부) 클래스는 내부에 존재하면서 외부 클래스와 연결된 느낌을 준다. 즉, 두 클래스 모두 내부에 있지만, 외부 클래스와의 관계성에 차이가...
지역 클래스(Local class)는 내부 클래스의 특별한 종류의 하나이며 지역 클래스도 바깥 클래스의 인스턴스 멤버에 접근이 가능하다.지역 클래스는 지역 변수처럼 코드 블럭 안에 클래스를 선언한다. 내부 클래스보다 더 안쪽?으로 들어간다고 보면 . 될듯 하다. 하지만
java-예외이론

java 예외 처리 활용

java generic
java Generic

java collection arrayList

ArrayList Java

java.utils Collections List (ArrayList, LinkedList)

Java Set, Hash

java hash set

Java Collection Set
java collection map, deque(queue, stack), generic is invarient

Java Iterable Comparable Collection 마무리
빌더패턴

멀티태스킹, 멀티프로세싱, 멀티스레드 -> 용어 개념 정리, 멀티 스레드 테스트 필요성

Thread, Runnable
Thread 기본 정보 log(myThread) or System.out.println(myThread) - myThread 객체의 ToString() 결과를 준다. 스레드 ID, 스레드 이름, 우선순위 그룹 정보를 담은 String을 반환한다. myThread.threadId() - 스레드의 고유 식별자를 반환하는 메서드, 이 ID는 JVM 내에서 유일...
java thread interrupt, yield

java synchronized
고급동기화
생산자 소비자 문제 멀티 스레드 환경에서 두 스레드가 존재하고, 한 스레드는 버퍼라는 공간에 데이터를 저장하는 역할(생산자)을 가지고 한 스레드는 이 데이터를 꺼내어 처리하는 역할(소비자)이라고 가정해보자. 만약 어느 한 역할이 지배적일 경우, 즉 생산자의 행동이 많을 경우 버퍼에는 데이터가 계속해서 쌓이는 방향으로 갈 것이고, 소비자의 행동이 많을 경우 ...

CAS

concurrent Collection
스레드 직접 사용시 문제점 이전에 모든 실습에서 우리는 new Thread()로 하여금 스레드를 직접 생성해서 Thread에 task를 적재해서 start()를 통해 쓰레드가 할 일을 정의하고 실행했다. 가벼운 작업이라면 작업의 실행보다 스레드의 생성 시간이 더 오래 걸릴 수도 있다. 스레드는 무겁고 운영체제 스케줄링과도 직접적으로 맞닿아 있어 개발자가...

reasonable ExecutorService
문자 인코딩

스트림

문자열 "ABC"를 UTF_8 인코딩셋를 사용하여 바이트 배열화 한다.문자열을 바이트 배열화한 이유는 스트림을 통해 파일에 문자열을 작성하기 위함이다.읽을때또한 FileInputStream으로 하여금 바이트 배열을 받는다.바이트 배열을 UTF_8 인코딩셋를 활용하여 읽
요구 사항 id, name, age의 정보를 가지는 회원(Member)을 등록하고, 등록이 되었다면 조회가 가능한 간단한 콘솔 입출력 프로그램을 작성 Member MemberRepository 위와 같은 인터페이스를 두고 두 가지 버전의 리포지토리 구현체를 만들어 활용한다. 저장시 .dat파일에 저장되도록 하고 findAll()을 통해 읽을 경우 파일...
소켓 통신 매우 단순한 클라이언트(메세지 보내기)-서버(메세지 응답) 시나리오를 구현할 것이다. 연결과 전송, 자원정리에 관해 학습하기 위해 서버는 단순히 클라이언트에서 받은 메세지 뒤에 World!를 추가하여 응답하도록 한다. 클라이언트는 우선 소켓을 생성한다.

네트워크 예외 연결 예외 UnknownHostException 호스트를 알 수 없음 IP 자체를 찾지 못함 도메인 이름 자체를 찾지 못함 ConnectException Connection refused 메세지로 하여금 연결이 거절되었다는 뜻이다 해당 IP는 존재하지만 IP에 해당하는 서버 컴퓨터가 해당 포트를 사용하지 않기에 TCP 연결을 거절하는 경우가...

WAS 만들어보기