목록Back-End/Java (36)
drexqq
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. 캡슐화 캡슐화란 하나의 객체에 대해 그 객체가 특정한 목적을 위해 필요한 변수나 메소드를 하나로 묶는 것을 의미한다. 이름 그대로 캡슐처럼 만드는 거라고 생각한다. 따라서 클래스를 생성할 때 생성한 클래스에서 만들어진 객체가 특정한 목적을 가지고 있어야 하고 사용해야할 변수와 그 변수를 사용하는 특..
Java의 Overloading에 대해서 알아보자. 자바에서 다형성을 지원하는 방법은 오버로딩(Overloading)과 오버라이딩(Overriding) 2가지로 볼 수 있다. 오버로딩(Overloading)과 오버라이딩(Overriding) 이름이 굉장히 비슷해서 헷갈리기 쉽다. 그 중 오버로딩(Overloading)에 대해서 알아보겠다. 오버로딩(Overloading) : 같은 이름의 메소드를 여러 개 가지면서 매개변수의 유형과 개수가 다르도록 하는 기술 오버로딩(Overloading)은 메소드 오버로딩과 생성자 오버로딩이 있지만 둘 다 같은 개념이라고 보면 쉽겠다. 같은 이름의 함수를 여러 개 정의하고, 매개변수의 유형과 개수를 다르게 하여 다양한 유형의 호출에 응답하게 한다. package over..
BufferedReader/BufferedWriter는 Buffer에 있는 IO 클래스다. 입력된 데이터가 바로 전달되지 않고 중간에 버퍼링이 된 후에 전달된다. 출력도 마찬가지로 버퍼를 거쳐서 간접적으로 출력장치로 전달된다. 때문에 시스템의 데이터처리 효율성을 높여주고 버퍼스트림을InputStreamReader / OutputStreamWriter를 같이 사용하여 버퍼링을 하게 되면 입출력 스트림으로부터 미리 버퍼에 데이터를 갖다 놓기 때문에 보다 효율적인 입출력이 가능하다. BufferedReader 선언 BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); //선언 String s = bf.readLine(); //Str..
Java의 함수에 대해서 알아보자. function : 함수, 독립적인 프로세스 method : 함수, class에 포함되어 있는 함수 C언어 - function으로 이루어짐 Java - class로 이루어짐 목적 : 코드의 간락화, 같은 처리를 하는 코드의 집약화 함수는 간략히 5가지로 보자면 input (x) return(x) input (o) return(x) input input return input (o) return (o) input (x) return (o) 이 정도가 있다 input은 받는값 즉 파라미터, return은 말그대로 return이다. package main; public class mainClass { public static void main(String[] args) { ..
Java의 sorting(정렬)에 대해서 알아보자. sorting은 선택, 삽입, 버블, 합병, 퀵 총 5종류가 있다. 오늘은 선택 정렬에 대해서 알아보겠다. 선택 정렬은 현재 위치에 들어갈 값을 찾아 정렬하는 방식이다. 현재 위치에 저장 될 값의 크기가 작냐, 크냐에 따라 오름차순 정렬(ascending)과 내림차순(descending)로 구분할 수 있다. 아래 코드를 보자 package main; import java.util.Scanner; public class mainClass { public static void main(String[] args) { Scanner sc = new Scanner(System.in); /* Sorting (정렬) 숫자의 크기에 따라서 순번대로 배치 오름차순 - ..
Java의 String클래스에 대해 알아보자. String클래스는 문자열 저장, 편집, 정보획득을 위한 wrapperClass이다. 설명할게 너무 많으니 아래 코드를 보며 공부해보자... String str; // String : class명 // str :Object(객체), instance(주체) == class의 변수를 부르는 말 str = "안녕하세요"; System.out.println("str = " + str); char strChar[] = {'안', '녕', '하', '세', '요'}; strChar[1] = '건'; strChar[2] = '강'; str = "건강하세요"; String str1 = new String("하이"); String str2 = "반갑습니다"; // 문자열을 ..