일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- AWS
- STP
- 크롤러
- 라우터
- AI
- CISCO
- Python
- Reversing
- docker
- 온프레미스
- dreamhack
- 머신러닝 프로세스
- 네트워크
- RIP
- bastion host
- 인공지능
- vector
- Java
- abex'crackme
- 스위치
- 자바
- Firewall
- vlan
- 리버싱
- Mac
- 머신러닝
- Screening Router
- 암호학
- cmd
- Repository
- Today
- Total
목록언어 (26)
Haekt‘s log
java의 배열은 C와는 조금 다른 방식으로 선언된다. - C 의 경우 int A[10]; // 배열 선언과 동시에 크기설정을 할 수 있음. int A[10]={1,2,3,4,5,6,7,8,9,10}; C의 경우에는 위와 같이 배열을 선언과 배열 크기를 같이 정할 수 있다. - JAVA 의 경우 int a[]; // 선언. []빈 괄호만 작성. a[10]처럼 사전에 크기 설정 불가 int []a; // 괄호의 위치는 앞, 뒤 모두 가능 int a[] = new int[10]; // 배열 크기 설정 int a[] = {1,2,3,4,5,6,7,8,9,10}; // 선언과 동시에 배열에 값넣기 하지만 Java는 조금 다르다. C와 다르게 배열선언과 크기를 동시에 정할 수 없다. 또한, 배열 선언시 [ ] 빈..
Collection Framework 은 다수의 데이터를 쉽고, 효과적으로 다루기 위해, 표준화된 방법을 제공하는 클래스들을 모아놓은 집합이다. 쉽게 생각하면, 크기 지정 필요없는 편리한 배열이라고 생각하면 된다. 이것을 사용하면 배열의 단점인 길이고정을 해결할수 있다. java.util.Collection 에 속해있어, 상단에 import java.util.* 을 입력해 사용할 수 있다. Collection Framwork의 주요 인터페이스는 다음과 같다. List Set Map 이 중에서 List와 Set 인터페이스는 모두 Collection 인터페이스를 상속받지만, 구조상의 차이로 인해 Map 인터페이스는 별도로 정의한다. - List, Set, Map 의 구현 클래스 * : 사용자가 타입을 정함...
abstract는 오버라이딩을 해야만 사용할 수 있는 메소드로, 필요에 따라 함수를 수정해 사용할 수 있게 함으로 코드 낭비가 줄어들고, 생산성이 높아지고, 배포가 쉬워진다. * 오버라이딩 : 쉽게 덮어쓰기라 생각하면된다. abstract는 클래스나 함수 앞에 붙여 사용하게 된다. 다음과 같다. abstract class A{ abstract void a(); // 함수의 경우. 추상메소드 // 선언만 해주면 상속하는 하위 클래스에서 무조건 재정의 해야함. } // 클래스의 경우. 추상클래스 위의 abstract void a(); 처럼 함수는 선언만 해야하며 선언을 할 경우 반드시 해당 클래스를 상속하는 하위 클래스에서 재정의를 해 줘야한다. *abstract 함수의 경우 : 추상메소드 *abstract..
예시를 들어 설명하겠습니다. 한 A 기업이 P프로그램을 출시했습니다. 그런데 타 B기업이 P프로그램의 기능을 빌려 업그레이드 된 새로운 P프로그램을 만들어 판매하려고 합니다. 그래서 A기업이 기능을 이용해도 되니 무조건 ~~ 기능은 유지하고, 우리 A기업의 출처를 남겨라 라는 조건을 걸었습니다. 이 때 무조건 ~~해라 라고 강제하는 것이 바로 interface입니다. - interface interface 는 동일한 목적하에 동일한 기능을 수행하게끔 강제하는 것으로, 자바의 다형성을 극대화 하여 개발 코드 수정을 줄이고, 프로그램 유지보수성을 높이기 위해 사용한다. 인터페이스를 선언하는 방법은 클래스 선언과 비슷하게 interface [이름] 을 입력한다. 다음과 같다. interface AA{ // e..
자바의 접근 제어에는 4가지가 존재한다. public protected private default (friendly) - public 외부의 모든 클래스, 패키지, 생성자, 필드로부터 모든 접근을 허용한다 . 라이브러리처럼 공유하여 사용하고 싶을 때 사용한다. - protected 상속받은 자식만 접근할 수 있도록 한다. - private 자신이 있는 클래스 외 다른 접근을 전부 금지한다. 가장 강력한 접근제어자 이다. - default (friendly) 변수나 함수 앞에 아무것도 쓰지 않았을 경우로, 동일 패키지 안에서는 접근이 허용된다. - 예시 package pk; public class Fa2 { // public 을 안붙이면 import 를 다른 파일에서 할수없음 public int a=1;..
Java 에도 변수를 상수 처리하는 방법이 존재한다. final 을 사용하면 test.num1 이런식으로 사용하지 않고, 변수를 단독 사용 가능하다. final 은 값을 상수로 만들어 고정시킨다. b 는 어차피 상수기 때문에 m2.b 로 사용하지 않고, 단독으로 사용해도 된다. 단, 단독으로 사용하고 싶을 땐 static 을 붙여준다.( b , Mouse.b )
자바에도 C 의 scanf 와 같이 사용자 입력값을 받는 방법이 존재한다. java.util.Scanner 에 존재하는 Scanner 클래스를 사용하면 사용자 입력값을 받을 수 있다 . - Scanner Class 메소드 - Scanner Class 사용법 import java.util.* java.util을 import 해서 사용이 가능하다. Scanner s= new Scanner(System.in); // 잆력한 값을 Scanner 클래스에 System.in 으로 넣어준다. 스캐너 클래스 변수를 만들고, System.in 으로 사용자 입력값을 Scanner 변수에 넣어준다. * System.in 은 키보드로부터 입력을 받는다고 알면 된다. Scanner 클래스는 키보드로 입력받겠다는 뜻. Strin..
웹 서비스를 만들때에 오류페이지가 뜨는 것은 한번쯤은 겪어보셨을 텐데요. 이 오류페이지를 코딩을 하는 경우도 있답니다. 그런데 JAVA 에서도 비슷한 기능이 존재합니다. 코드 실행중 예외상황(에러)이 발생했을때 특정 기준으로구분하여 예외처리하는 Exception 입니다. 예외처리를 하는 방법은 간단합니다. try-catch 문을 사용하면 매우 간단하게 예외처리가 가능합니다. - try-catch문 try{ //괄호 안의 코드를 실행 //실행할 코드 //ex System.out.println("trying.."); throw /* new Exception() */; //Exception 예외를 발생시킴 } catch(/* Exception e */){ // 만약 try실행중 Exception 예외가 발생하..
JAVA 에서 String 을 조작(?) 하는 일부 함수들을 정리해 봤습니다. *객체는 내장함수를 사용해도 직접적으로는 영향을 미치지 않음을 잊지 맙시다. 문자열의 길이 구하기 String t1= new String("test"); System.out.println(t1.length()); //4 문자열의 길이를 int 형으로 반환합니다. StringBuffer b1= new StringBuffer("test"); System.out.println(b1.capacity()); //20 문자열버퍼의 크기를 반환합니다. *문자열버퍼의 아무것도 입력하지 않았을때 기본 크기는 16 문자열 합치기 (더하기) String t1= new String("hello"); String t2=new String("world..
오랜만에 코딩 문제를 풀다가 부딧힌 문제이다. String 과 new String 의 차이점은 뭐지..? 여기서 new 연산자는 뭘까 ? - new 연산자 new 연산자는 java 의 heap 영역에 저장할 공간을 마련한 후, 메모리주소를 반환하고 생성자를 실행시킨다. 새로운 객체를 생성한다는 뜻이다. 쉽게는 학교 사물함을 놔두고 내 개인 사물함을 마련한다고 보면 된다. 아래 그림으로 String 과 new String 를 비교하여 더 쉽게 살펴보자. 먼저 일반적으로 new 없이 String 으로 변수를 선언한 경우이다. String A, B 모두 같은 값으로 초기화 해준 경우, 이 변수들은 heap 영역의 String pool에 test 를 한번만 저장하고 그 값의 메모리주소를 가리키는 방식으로 작동이..