본문 바로가기

Language, IDE

(50)
[JAVA 자바] InetAddress 클래스 자바에서는 인터넷 주소에 관한 정보를 다루는 InetAddress클래스를 제공한다. 여기서 인터넷 주소에 관한 정보는 IP정보를 의미한다. InetAddress는 생성자가 없다. static클래스에서 정보를 받아오는 형식으로 사용한다. 주요 함수equals(InetAddress other) 현 객체가 other 객체와 같은 주소면 true, 아니면 false를 리턴getAddress() 주소를 나타내는 4개의 바이트 배열을 리턴getHostAddress() 주소 정보를 나타내는 String 리턴getHostName() 컴퓨터 이름을 나타내는 String 리턴 static 메소드 (InetAddress)getLocalHost() 현재 컴퓨터의 InetAddress객체를 리턴getByName(String h..
[JAVA 자바] File 클래스 자바에서는 파일과 디렉터리를 다루는 File클래스를 제공한다. 이 클래스에서 접근권한, 마지막 수정일자, 경로, 길이, 디렉터리에 존재하는 파일의 이름, 새로운 디렉터리 생성, 파일과 디렉터리의 삭제, 이름 변경 등을 제공한다. 생성자File(String directoryPath) directoryPath를 경로로 가지는 File 객체 생성File(String directoryPath directoryPath를 경로로 가지고 filename을 파일이름으로 가지는 File 객체 생성,String filename) File(File dirObj, dirObj의 경로를 가지고 filename을 파일이름으로 가지는 가지는 File 객체 생성String filename) 주요 함수canRead() 파일이 읽기 가..
[JAVA 자바] 랜덤함수(Random) - 난수 발생기 자바에서 Random 클래스는 난수 발생 기능을 제공한다. 생성자Random() 현재시간을 초깃값으로 하는 난수 발생기 생성Random(long seed) seed값을 초깃값으로 하는 난수 발생기 생성 주요 함수nextFloat() float형의 난수 리턴nextInt() int형의 난수 리턴nextLong() long형의 난수 리턴nextDouble() double형의 난수 리턴nextGaussian() 평균 0, 표준편차 1인 Gaussian형의 난수를 double형으로 리턴setSeed(long newseed) seed값을 newseed값으로 초기화nextInt(int n) n미만의 int형 난수 리턴 예제소스import java.util.Random; public class JavaTestMain..
[JAVA 자바] synchronized - 스레드 동기화 자바 프로그래밍을 할 때 멀티 스레딩을 하면 각각의 스레드는 독립적으로 동작한다. 하지만 실제 프로그래밍을 할 때에는 스레드들이 연관 관계를 가지면서 작동해야하는 경우가 많다. 예를들어 스레드들이 현재 접속중인 유저수를 공유해야 하는 경우나 은행에서 예금이나 출금을 하는 경우가 있다. 운영체제에서 배웟듯이 이런 변수들은 동시에 접근하게 되면 문제가 발생하게 된다. 예를들어 3개의 스레드가 동시에 예금을 500원식하면 1500원이 되어야 하는데 모두 0원을 가져와 500을 더해서 저장을하면 500원이 저장되게 된다. 이런 문제를 해결하기 위해서는 동기화를 하여야 한다. 자바에서는 스레드를 동기화 하기 위해서 synchronized를 제공한다. 스레드는 synchronized 메소드에 들어가기 위해 lock..
[JAVA 자바] instanceof - 객체(클래스)의 타입판별 자바에서는 객체가 어떤 클래스나 인터페이스로부터 생성되었는지를 판별해주는 instanceof를 제공한다. 객체명 instanceof 타입(클래스명or인터페이스명) 객체가 해당 타입이면 true를 아니면 false를 리턴한다. 타입에 상위 클래스 객체명에 하위 클래스의 객체일 경우에도 true를 리턴한다. ※ 참고 타입이 상위클래스도 하위클래스도 아닐경우 에러가 난다. 타입은 해당 객체의 클래스의 상위 클래스 혹은 하위클래스여야 한다. 예제소스 class C1 { public C1() {} } class C2 extends C1{ public C2() {} } class C3 extends C2 { public C3() {} } public class JavaTest { public static void ..
[JAVA 자바] super 자바에서 super는 상위 클래스의 생성자를 호출할 때 사용하거나 상위 클래스의 멤버 변수나 메소드에 접근할 때 사용한다. super로 멤버 변수나 메소드를 호출하기 위해서는 해당 변수나 메소드의 제한자는 protected, public이어야 한다. 예약어 super 상위 클래스의 생성자 호출 super(매개변수) 상위 클래스의 멤버 변수 호출 super.변수명 상위 클래스의 메소드 호출 super.메소드명(매개변수) 예제소스 JavaTest.java class Mother { protected String name; public Mother(String name) { this.name = name; } public void display() { System.out.println("name : " + n..
[JAVA 자바] 매개변수 매개변수 전달방식에는 call-by-value방식과 call-by-reference방식이 있다. call-by-value는 매개변수를 전달할 때 값을 복사하여 넘겨주는 방식이고 call-by-reference는 매개변수를 전달할 때 값이 아닌 해당 변수의 주소값을 넘겨주는 방식이다. 보통 int나 double같은 일반적인 변수타입은 call-by-value방식을 사용하고 배열이나 클래스같은 메모리를 많이 차지하는 타입은 call-by-reference를 사용한다. C++나 다른 언어에서는 매개변수 방식을 프로그래머가 선택하여 사용한다. 하지만 자바에서는 컴파일러가 자동으로 매개변수 방식을 지정하여 준다. 즉 프로그래머는 일반적인 call-by-value이냐 call-by-reference이냐를 고민할 필..
[C++] StringTokenizer JAVA에서는 String을 Token별로 끊어주는 StringTokenizer클래스가 제공되지만 C++에서는 그러한 클래스가 제공되지 않는다. 그래서 StringTokenizer를 사용하려면 직접 구현하여 사용하여야 한다. 아래의 두 파일을 받아 프로젝트폴더에 넣고 #include "StringTokenizer.h"를 하여 자바에서 StringTokenizer를 사용하듯이 사용하면 됩니다. 사용가능 함수 및 생성자StringTokenizer(string str) StringTokenizer(string str,string delim) StringTokenizer(string str, string delim, bool returnDelims) hasMoreTokens() countTokens() next..