목록Back-End (41)
drexqq
Java의 HashMap과 TreeMap에 대해서 알아보자. HashMap과 TreeMap은 Map Collection이다. Map Collection은 key와 value를 한 쌍으로 값을 저장한다. public static void main(String[] args) { HashMap a = new HashMap(); a.put("one", 1); a.put("two", 2); a.put("three", 3); a.put("four", 4); System.out.println(a.get("one")); System.out.println(a.get("two")); System.out.println(a.get("three")); iteratorUsingForEach(a); iteratorUsingIter..
Java의 Iterator에 대해서 알아보자. Iterator는 자바의 컬렉션 프레임워크에서 컬렉션에 저장되어있는 요소를 읽어오는 방법 중 하나이다. 기본적으로 Iterator는 인터페이스이다. 아래 구조를 보자. public interface Iterator { boolean hasNext(); Object next(); void remove(); } boolean hasNext() 메소드는 읽어 올 요소가 남아있는지 확인하는 메서드이다. 있으면 true, 없으면 false를 반환한다. Object next() 메소드는 읽어 올 요소가 남아있는지 확인하는 메서드이다. 있으면 true, 없으면 false를 반환한다. void remove() 메소드는 next()로 읽어 온 요소를 삭제한다. next()를..
Java의 LinkedList에 대해서 알아보자. 전에 포스팅한 게시글에 ArrayList에 대한 글이 있다. 이번에 공부한 LinkedList는 ArrayList와 비슷한 개념이다. ArrayList가 검색과 대입에 효과적이라면 LinkedList는 추가 및 삭제에 효과적이라고 설명할 수 있다. 사용법은 ArrayList와 동일하지만 LinkedList에 추가되어있는 기능이 있다. LinkedList blist = new LinkedList(); if (blist.isEmpty()) {//blist.size() == 0 } // 맨 앞에 element추가 blist.addFirst("doosan"); // 맨 뒤에 element추가 blist.addLast("hanhwa"); 바로 isEmpty, ad..
Java의 Abstract에 대해서 알아보자. Abstract는 추상이라는 뜻이다. Java에서의 abstract는 상속을 강제한다고 생각하면 좋다. abstract클래스 또는 메서드를 사용하기 위해서는 반드시 상속을 강제한다. public abstract class AbstractClass { private int number; public void method() { System.out.println("AbstractClass method()"); } public abstract void abstractMethod(); } 위 코드를 보면 class앞에 abstract가 붙어 있는 것을 볼 수 있다. 클래스 안에 하나 이상의 메서드가 추상 메서드라면 그 메서드를 포함한 클래스는 자연스레 추상 클래스가..
Java의 ArrayList에 대해서 알아보자. ArrayList는 배열을 선언하는 것처럼 List의 Size를 초기화해줄 필요가 없다 배열처럼 고정된 크기를 가지는 것이 아니라 메모리가 허용하는 한 자동으로 ArrayList 크기는 동적으로 변경된다. 그럼 ArrayList를 관리하는 방법을 보자 1. 추가 ArrayList arrList = new ArrayList(); //제일 뒤에 추가 .add(value); arrList.add(111); Integer in = new Integer(222); arrList.add(in); arrList.add(new Integer(333)); Integer inum = new Integer(200); arrList.add(1, inum); ArrayList에 ..
Java의 Generic(제네릭)에 대해서 알아보자. Generic == template 자료형의 변수라고 생각할 수 있다. Generic은 간단하게 '같은 클래스'에서 '여러 가지 자료형'을 사용할 경우에 사용된다 package main; public class mainClass { public static void main(String[] args) { Box box = new Box(123); System.out.println(box.getTemp()+1); Box sBox = new Box("my world"); System.out.println(sBox.getTemp()); BoxMap bMap = new BoxMap(1001, "hello"); System.out.println(bMap.get..
Java의 static에 대해서 알아보자. static은 정적이라고 생각할 수 있다. static 또한 변수, 클래스, 메서드에서 사용할 수 있는 점이 final과 비슷하다. 사용처를 알아보자. package main; public class MyClass { private int memNum = 0;//member variable - 객체가 달라지면 초기화 static int staticVar;//static variable - 객체가 달라져도 계속해서 값유지 //메모리영역이 무조건 하나다 public int getMemNum() { return memNum; } public void setMemNum(int memNum) { this.memNum = memNum; } public void method..
Java의 final에 대해서 알아보자 final은 제약을 걸어준다고 생각하면 쉽다. 변수, 메서드, 클래스에 final을 사용할 수 있다. final int number = 10;// 변수 -> 상수(대입용) final int MEMBER_NUMBER = 100; int num; final class superClass {//상속금지 int number; public superClass() { } public final void method() {//override 금지 } } 변수에서 사용하는 법은 final int number와 final int MEMBER_NUMBER는 값이 변할 수 없는 상수로 취급되어서 값을 다른 곳에 대입을 할 순 있지만 값 자체를 바꾸는 건 불가능하다. 클래스에서 사용하는..
Java의 Overriding(오버 라이딩)에 대해서 알아보자. 전 게시물중 OOP(Object Oriented Programming), 즉 객체지향에 대해서 말할 때 잠깐 나왔던 거로 기억한다. Overriding(오버 라이딩)이란 상위 클래스에서만들어진 메서드를 자신의 필요요건에 따라서 재구성해서 사용하는 것을 말한다. 쉽게 말하면 상위 클래스에서 상속받은 후에 상속받은 하위 클래스(자식 클래스)에서 수정함을 의미한다. 사용하는 이유는 간단하다 여러 가지의 자식 요소를 관리하기 쉽게 하기 위해서 아래와 같이 사용한다. public class Parent { public void method() { System.out.println("Parent method()"); } } 위와 같이 Parent라는 ..
Java의 객체지향(OOP)에 대해서 알아보겠다. 자바프로그래밍하면 객체지향프로그래밍 OOP(Object Oriented Programming)이라는 말을 공부하기 전부터 여기저기서 많이 주워들었다. 객체지향프로그래밍의 특성은으로 크게 캡슐화, 추상화, 다형성, 상속성 정도로 생각하면 쉽다. 그러므로 OOP라고하면 캡슐화, 추상화, 다형성, 상속성이 군대시절 총기번호처럼 튀어나오도록 머리에 각인시켜보자. 1. 캡슐화 캡슐화란 하나의 객체에 대해 그 객체가 특정한 목적을 위해 필요한 변수나 메소드를 하나로 묶는 것을 의미한다. 이름 그대로 캡슐처럼 만드는 거라고 생각한다. 따라서 클래스를 생성할 때 생성한 클래스에서 만들어진 객체가 특정한 목적을 가지고 있어야 하고 사용해야할 변수와 그 변수를 사용하는 특..