개발/Java

· 개발/Java
int 에 두개 숫자를 넣기 한 int 에 두개 숫자를 넣어 보낼 필요가 생겼습니다 int 는 4byte, 32byte 이므로 16byte 씩 2개로 나눈다면 65536 이내의 숫자라면 2개는 넉넉히 보낼 수 있습니다. 하지만 난 한 숫자가 50만이 넘어가는 경우였기 때문에, 8byte 와 24byte 로 나누어서 보내야 합니다. bitwise operator bitwise operator 를 이해할 필요가 있습니다. 위 그림은 char, 1byte, 8bit 를 기준으로 했습니다. 메모리 크기는 그대로인데, 비트 array 를 화살표 방향으로 옮긴다고 생각하면 편합니다. encoding encoding 하는 부분은 다음과 같습니다. startActivityForResult(i, cmdMsgIdEncod..
· 개발/Java
간략한 코드는 다음과 같습니다 bytetohex byte[] bytes = new java.math.BigInteger(hexText, 16).toByteArray(); hextobyte new java.math.BigInteger(hexByte).toString(16); 그런데 이렇게하면 추가시 00이 더해지는 에러가 발생할 수도 있기 때문에 big integer 나오기 전에 하던 방식도 추가해 두겠습니다 bytetohex final protected static char[] hexArray = "0123456789ABCDEF".toCharArray(); public static String bytesToHex(byte[] bytes) { char[] hexChars = new char[bytes.le..
· 개발/Java
일반적으로 thread 를 실행하는 방법 일반적으로 thread 를 실행하는 방법은 다음과 같다 final static int AAV_GET_MSG_BUFFER_MAX = 301; int mySend(String msg) { final int[] r = new int[1]; r[0] = 0; Thread th = new Thread(new Runnable() { @Override public void run() { CGMessage cgMsg = new CGMessage(7); cgMsg.setMsgStatus(AAV_CG_MSG_START_END); cgMsg.setOut(getConnectedOutStream()); cgMsg.setIn(getConnectedInStream()); r[0] = cgM..
· 개발/Java
추상화란 (구현숨기기, class 앞쪽 성질변환) 추상화는 Java에서 객체 지향 프로그래밍(OOP)의 네 가지 기본 개념 중 하나입니다. 사용자에게 꼭 필요한 정보만 보여주면서 구현 내용을 숨기는 과정을 말합니다. Java에서 추상화는 추상 클래스와 인터페이스를 통해 이루어집니다. 추상 클래스는 인스턴스화할 수 없고 다른 클래스에 의해 서브클래싱되도록 설계된 클래스입니다. 추상 메서드와 비추상 메서드를 모두 가질 수 있습니다. 추상 메서드는 본문이 없는 메서드이며 추상 클래스를 확장하는 모든 하위 클래스에 의해 구현되어야 합니다. 다음은 Java에서 추상 클래스의 예입니다. public abstract class Shape { public abstract double getArea(); public a..
· 개발/Java
상속 (부모꺼 갖다쓰기) 상속은 Java에서 객체 지향 프로그래밍(OOP)의 기본 개념 중 하나입니다. 이를 통해 클래스는 수퍼 클래스 또는 부모 클래스라고 하는 다른 클래스의 속성과 동작을 상속할 수 있습니다. 슈퍼클래스에서 상속되는 서브클래스를 정의하기 위해 클래스 정의에서 extends 키워드를 사용합니다. 그런 다음 서브클래스는 슈퍼클래스의 속성과 메서드를 자신의 것처럼 사용할 수 있습니다. 예를 들면 다음과 같습니다. public class Animal { private String name; private int age; public Animal(String name, int age) { this.name = name; this.age = age; } public void eat() { Sys..
· 개발/Java
다형성이란 다형성은 객체 지향 프로그래밍의 기본 개념이며 Java의 기능입니다. 서로 다른 클래스의 개체를 동일한 유형인 것처럼 처리할 수 있습니다. 이는 각 개체의 정확한 클래스를 알 필요 없이 균일한 방식으로 서로 다른 클래스의 개체에 대해 작업할 수 있는 코드를 작성하려는 경우에 유용할 수 있습니다. Java에서 다형성은 메서드 재정의(Overloading)와 메서드 오버로딩(Overriding)이라는 두 가지 메커니즘을 통해 달성됩니다. Overloading (output 다양화) Java에서 메서드 오버로딩은 클래스가 이름은 같지만 매개 변수가 다른 여러 메서드를 가질 수 있도록 하는 기술입니다. 메서드 오버로드를 사용하면 개발자가 클래스에서 동일한 이름을 가진 둘 이상의 메서드를 만들 수 있으..
· 개발/Java
eclipse 상에서 직접 컴파일 eclipse 에서는 저장과 실행 과정에서 이를 자동으로 처리해주어서 편리함을 느끼고 있지만, 이클립스 상에서 돌아가는 것이 궁금하다면 직접 손으로 컴파일을 해보면 된다. 우선 나는 java2 라는 파일 안에서 selfcompile.java 라는 것을 cmd 창에서 실행을 해보고자 한다. 그렇다면 해당 디렉토리로 이동해서 컴파일을 하고, java 를 실행하면 된다. src와 bin의 차이점 src 는 여러분이 코딩을 하는 소스 코드이다. bin 은 compile 된 소스코드의 class 가 위치하는 곳이다. "src" 폴더에는 일반적으로 프로젝트를 구성하는 모든 Java 클래스 및 패키지를 포함하여 프로젝트의 소스 코드가 포함된다. 코드가 컴파일되면 결과 ".class"..
· 개발/Java
다른 패키지에 class가 들어있는 상황 네가 실행하고자 하는 파일의 클래스가 다른 패키지에 들어있어서 실행이 안되는 상황이라면 import 로 해당 클래스를 추가해주면 된다. 이클립스 상에서 이러한 행위는 사실 환경변수 설정과 동일한 역할을 한다. 다음 예시로 그 이유를 알아보자. cmd 상에서 java를 실행하는데 다른 폴더에 class가 들어가있는 상황 당신이 사용해야하는 클래스가 다른 패키지인 lib(자바에서는 폴더는 패키지와 같은 역할을 수행) 안에 들어있어서 단순하게 java classpath2 명령어로 실행이 안된다고 생각해보자. 그렇다면 lib 를 어떻게 처리해야 하는가? 이렇게 쓰면 문제없이 실행이 된다. .은 현재 위치하고 있는 곳의 class 를 찾을것, lib 는 그 폴더 안도 뒤져..
· 개발/Java
String은 문자열, []는 배열 즉, args라는 이름의 문자열 배열을 사용하겠다는 뜻이다! 메인 함수에서 이 String[] args를 생략할 수 없는데 그 이유는 프로그램이 시작되는 부분이기 때문에 외부에서 값을 받을 수 있어야하기 때문(?)
· 개발/Java
그 이유는 다른 멤버들이 main에 접근해야 해서이다. 우선 public 은 접근제한자이고, 그 종류에는 public, protected, private, default가 있는데 public 모든 곳에서 접근 가능 protected 같은 패키지안의 클래스나 상속 클래스에서만 접근 가능 private 클래스 내에서만 접근 가능 default 같은 패키지 안에서만 가능 여기서 public이 쓰이는 이유는 main은 프로그램의 기본이므로 모든곳에서 접근 가능해야하다보니 main 앞엔 예외없이 public만이 가능함! 즉, 모든 클래스에서 접근 가능한 메소드임을 선언하고 시작하는것!
· 개발/Java
public은 접근을 허용하는 상태, class는 해당 클래스의 이름을 의미한다 고로 첫째줄은 접근이 허용된 test2 라는 클래스에 대해 이야기한다 라는 의미이다. static은 해당 클래스에 소속된 변수 혹은 함수를 칭할때 쓰이고 void는 해당 함수에 output이 없다는 의미이다. String args를 배열로 사용하겠다는 의미이다. (??)두번째줄은 접근이 허용되고 output이 없는 main 함수 라는 의미이다. 1. Class 내 변수를 수정하며 사용하기 String[] args 가 main 함수에만 쓰인다는 사실을 알 수 있고, void main 이라는 함수와 String argument 라는 변수 앞엔 항상 static 이 붙어야 한다는 사실도 알 수 있다. 2. Main 내에서 clas..
· 개발/Java
ctrl + shift + L = 단축키 모음 ctrl + D = 한줄 지우기 ctrl + alt + down = 한줄 복사
yeonlee
'개발/Java' 카테고리의 글 목록