일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Groovy
- 이벤트 루프
- Python
- RDF
- node.js
- 노드
- 스레드
- 스크럼 마스터
- 자바
- socket.io
- 노드js
- express
- Router
- 특징
- 예제
- C++
- scrum
- nodejs
- java
- ngrinder
- Knowledge Graph
- Stream
- 개발자
- 파헤쳐보자
- 지식 그래프
- 스크럼
- Django
- 소켓
- benchmark
- node
- Today
- Total
목록자바 (6)
라봉이의 개발 블로그
Java_Socket클래스_상속하는_법 Java Socket 상속하기 자바를 공부하는 와중에 채팅 서버를 구현해보고 싶었다. 링크 간단하게 Room을 구현하는 도중에 채팅방을 이용하는 유저에게 닉네임을 부여하고 싶었다. 유저 클래스를 생성하고 그 유저 클래스에 소켓 변수 필드를 만들어도 되지만 간단하게 하고 싶어서 Socket 클래스를 상속 받는 새로운 클래스를 만들어 닉네임과 아이디 필드를 생성하고 싶었다. public class UserSocket extends Socket { private String uid;// 아이디 private String name;// 닉네임 private PrintWriter pw;// 소켓 output stream 랩핑 private Buffer..
1. 자바에서의 입출력 1.1 입출력이란? 입출력이란 컴퓨터 내부 또는 외부의 장치와 프로그램간의 데이터를 주고받는 것을 말한다. 1.2 스트림 스트림이란 일종의 추상적인 개념인데 입출력 기기나 프로세스, 파일 등 데이터가 어디로 가는 지, 어디로 나왔는 지 상관없이 통일된 방식으로 데이터를 다루기 위한 가상의 개념이다. Node.js의 stream을 알고 싶다면 다음의 링크를 타고가면 된다. http://psyhm.tistory.com/26 스트림은 먼저 보낸 데이터를 먼저 받게 되어 있으며 중간어 건너뜀 없이 연속적으로 데이터를 주고받는다. 큐와 같은 FIFO 구조로 되어 있다고 생각하면 이해하기 편할 것이다. 1.3 바이트기반 스트림 - InputStream, OutputStream 스트림은 바이트..
3. StringBuffer클래스 3.1 StringBuffer클래스의 특징 StringBuffer클래스는 지정된 문자열 변경이 가능하다. 내부적으로 문자열 편집을 위한 버퍼(buffer)를 가지고 있으며, StringBuffer인스턴스를 생성할 때 그 크기를 지정할 수 있다. 버퍼의 크기를 적절하게 정해주지 않으면 만약 문자열의 크기가 버퍼의 크기를 넘어서게 되면 버퍼 크기를 늘려주는 작업을 추가로 해야하기 때문에 작업효율이 떨어진다. 3.2 StringBuffer클래스의 생성자 public StringBuffer(int length) { value = new char[length]; shared = false; } public StringBuffer() { this(16); } public Strin..
자바에서 java.lang 패키지는 기본이 되는 패키지이기 때문에 import 없이 사용할 수 있다. 그 중 많이 사용되는 것들을 알아보자 1. Object 클래스 Object는 모든 클래스의 최고 조상이기 때문에 Object 클래스의 모든 멤버들은 모든 클래스에서 모두 사용할 수 있다. Object 메서드에서 중요한 몇가지를 살펴보자 1.1 equals 메서드 객체의 참조변수를 받아서 비교하여 그 결과를 boolean 값으로 알려주는 역할을 한다. public boolean equals(Object obj) { return (this == obj); } 코드를 보면 알 수 있듯이 서로 다른 두 객체를 equals 메서드로 비교하면 항상 false를 반환한다. equals 메서드는 결국 두 개의 참조변수..
객체지향은 c++과 유사한 점이 많으니 특징과 다른 점만 짚고 넘어가도록 하겠다. 7. 인터페이스 7.1 인터페이스란? 인터페이스는 일종의 추상클래스이다. 인터페이스는 추상클래스처럼 추상메서드를 갖지만 몸통을 갖춘 일반 메서드 또는 멤버변수를 구성원으로 가질 수 없다. 추상클래스를 '미완성 설계도'라고 한다면 인터페이스는 밑그림만 그려져 있는 '기본 설계도'라고 할 수 있다. 7.2 인터페이스의 작성 인터페이스를 작성하는 것은 클래스와 같지만, 다만 키워드로 class 대신 interface를 사용하는 것만 다르다. interface 인터페이스이름 { public static final 타입 상수이름 = 값; public abstract 메서드이름(매개변수 목록) } 일반적인 클래스와 달리 인터페이스의 ..
객체지향은 c++과 유사한 점이 많으니 특징과 다른 점만 짚고 넘어가도록 하겠다. 1. 변수와 메서드 1.1 선언 위치에 따른 변수의 종류 변수 종류: 클래스 변수, 인스턴스 변수, 지역 변수 클래스 변수: 멤버변수 중 static이 붙은 변수인스턴스 변수: 멤버변수 중 static이 붙지 않은 변수지역 변수: 멤버변수를 제외한 나머지 변수 class Variable{ int instanceValue; // 인스턴스 변수 static int classValue; // 클래스 변수 void method1() { int localValue = 0; // 지역 변수 } } 1) 인스턴스 변수클래스 영역에서 선언인스턴스가 생성되었을 때 생성인스턴스는 독립적인 저장공간을 가지므로 인스턴스마다 서로 다른 인스턴스 ..