본문 바로가기

분류 전체보기

(70)
[자바] 기본형 매개변수와 참조형 매개변수 (객체지향) 기본형 매개변수 class Data {int x;} class Ex6_6{ public static void main(String[] args){ Data d = new Data(); d.x = 10; System.out.println("main() : x = " + d.x); change(d.x); System.out.println("After change(d.x)"); System.out.println("main() : x " + d.x); //main() : x 10 } static void change(int x){ x = 1000; System.out.println("change() : x = " + x); //change() : x = 1000 } } 기본형 매개변수는 변수값을 읽기만 가능하다..
[백준 : JAVA] 9093 단어 뒤집기 import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = Integer.parseInt(sc.nextLine()); // nextInt() 다음 enter 값이 남아서 다음 //nextLine()시 공백이 읽혀버림 for (int i = 0; i
[자료구조] 트리(Tree)란, 트리 순회, 이진 트리, 이진 탐색 트리(Binary Search Tree) 트리(Tree)의 특징 원소들 간에 다대일 관계를 가지는 비선형 자료구조이다. 계층적 관계를 표현하는 자료구조이다. 트리의 구조는 데이터의 저장보단 저장된 데이터의 탐색에 중점을 둔다. 사이클이 존재하지 않는다.(사이클이 없는 하나의 연결 그래프라 할 수 있다.) 루트 노드를 제외하고 모든 노드는 단 하나의 부모노드를 갖는다. N개의 노드를 갖는 트리는 N-1개의 간선(edge)를 갖는다. 트리(Tree)의 용어 노드(node) : 트리의 원소 (A, B, C, D, E, F, G, H, I, J) 간선(edge) : 노드를 연결하는 선으로 부모-자식간을 연결한다. 루트 노드(root node) : 부모가 없는 최상위 노드를 의미하며 트리는 단 하나의 루트노드를 갖는다. (A) 단말 노드(leaf nod..
[자바] 힙(heap)과 스택(stack) 메모리 구조 Stack 정적으로 할당된 메모리 영역이다. 원시 타입(primitive)의 데이터가 함께 할당된다. Heap 영역에 생성된 Object 타입의 데이터의 참조값이 할당된다. 각각의 Thread는 각각의 Stack 메모리를 갖는다 Heap 동적으로 할당된 메모리 영역이다. 모든 Objcet 타입의 데이터가 할당 된다. Heap 영역의 Object를 가리키는 참조변수가 Stack에 저장된다. 생명주기가 긴 데이터들이 주로 저장된다. 몇개의 Thread가 존재하든 상관없이 하나의 Heap영역만 존재한다. public class Main { public static void main(String[] args) { int age = 29; String name = "sebang"; } } Stack에 29라는 값..
WIL (API, REST API 구성 및 특징) API(Application Programming Interface) api는 간단하게 설명하면 연결 통로라고 보면 된다. 예를들어 네이버 맵 API라는 API가 있다고 가정했을 때 이 API는 네이버 서버에 있는 맵 기능을 다른 사용자들이 이용할 수 있게 만든 통로(API)라고 할 수 있으며, 네이버에서는 API를 통해 네이버의 맵 기능을 여러 사람이 사용할 수 있게 프로그래밍하여 제공하게 된다. API의 종류(접근 방식) 1. 비공개 API private API라 하며 이는 내부 API로 각 기업내부 혹은 연구 목적의 API로 단체 내부에서만 사용하며, 외부에 노출되지 않는다. 2. 공개 API public API라 하며 모두에게 공개되는 API를 의미한다. 사용량에 따라 요금이 부과될 수 있으며 O..
[자바] BufferedReader / StringTokenizer BufferedReader는 Scanner와 다르게 8192 char (16384 byte) 크기의 버퍼에 담아두었다가 한번에 전송하기 때문에 효율적이고 빠른 전송이 가능하다. Scanner https://docs.oracle.com/javase/8/docs/api/java/util/Scanner.html Scanner (Java Platform SE 8 ) Scans the next token of the input as a float. This method will throw InputMismatchException if the next token cannot be translated into a valid float value as described below. If the translation i..
[자바] Comparable, Comparator [Comparable] docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html#method.summary Comparable (Java Platform SE 8 ) This interface imposes a total ordering on the objects of each class that implements it. This ordering is referred to as the class's natural ordering, and the class's compareTo method is referred to as its natural comparison method. Lists (and arrays) of o docs.oracle.com Comp..
[자바] CompareTo CompareTo 숫자형 비교 int x = 5; int y = 3; x.compareTo(y) //1 x.compareTo(7) //-1 x.compareTo(5) //0 기준값과 비교대상이 같을 경우 : 0을 리턴 기준값이 비교대상보다 클 경우 : 1 기준값이 비교대상보다 작을 경우 : -1 문자열 비교 String str = "abc"; str.compareTo("abc") // 0 str.compareTo("ab") // 1 str.compareTo("a") // 2 str.compareTo("d") // -3 str.compareTo("") // 3 기준문자열과 비교대상이 같을경우 : 0 기준문자열에 비교대상이 포함돼 있을경우 : 문자열 길이의 차이만큼 리턴 기준문자열과 비교대상이 전혀 다른 문..
[자바] 람다식 개념 및 표현법 람다(lambda )식 람다식은 식별자가 필요 없으며 익명 함수를 지칭하는 용어이다. 자바 8부터 람다식을 지원하며 문법이 간결하여 가독성 면에서 큰 장점을 불러온다.(람다를 쓰지말라는 상급자 분들도 있습니다.) 장점 코드가 간결하다 지연 연산을 통한 불필요한 연산을 최소화 한다. 멀티 쓰레드를 활용하여 병렬처리가 가능하다. 가독성이 향상된다. 단점 람다stream을 통한 단순 for문, while문 사용시 성능 저하가 발생 가능하다. 무명함수는 재사용이 불가능하다. 불필요한 람다식은 가독성을 떨어뜨린다.(비슷한 함수를 계속 중복생성할 수 있음) 디버깅하기 까다롭다. 람다식 표현법 (x, y) -> x x+1 (x) -> x+1 x -> x+1 (int x) -..
Ajax 간단한 팬명록 (로컬에서는 되는데...) 웹개발 종합반 4주차 숙제 위와 같은 간단한 팬명록을 만드는 작업을 진행하였다. 곧 있을 항해 99 시험을 대비하고자 여러 기능들을 추가하는 작업을 진행하였는데 그중 댓글을 삭제하고 수정하는 기능을 추가해보고자 하였다. 기능 개발을 위한 작업 1. 삭제 같은 경우에는 삭제를 할 댓글의 이름값을 받아와서 서버에서 해당 값과 동일한 값의 댓글을 삭제하도록 진행하였다. (삭제는 어렵지 않았다.) 2. 수정 수정같은 경우 수정 버튼을 클릭시 새로운 응원남기기 칸을 모달창을 띄우는 방식으로 진행하였다. 수정버튼을 클릭하면 그냥 진행 할 수 있게끔 하려 했는데 같은 팀원분께서 id에따른 수정을 진행하면 좋겠다는 좋은 아이디어를 주셔서 진행하게 되었다. 토큰을 통해서 진행을 하려했는데 너무 어려워서 그냥 댓글을 적을..