목록javase (66)
drexqq
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라는 ..
10039번 문제 상현이가 가르치는 아이폰 앱 개발 수업의 수강생은 원섭, 세희, 상근, 숭, 강수이다. 어제 이 수업의 기말고사가 있었고, 상현이는 지금 학생들의 기말고사 시험지를 채점하고 있다. 기말고사 점수가 40점 이상인 학생들은 그 점수 그대로 자신의 성적이 된다. 하지만, 40점 미만인 학생들은 보충학습을 듣는 조건을 수락하면 40점을 받게 된다. 보충학습은 거부할 수 없기 때문에, 40점 미만인 학생들은 항상 40점을 받게 된다. 학생 5명의 점수가 주어졌을 때, 평균 점수를 구하는 프로그램을 작성하시오. 입력 입력은 총 5줄로 이루어져 있고, 원섭이의 점수, 세희의 점수, 상근이의 점수, 숭이의 점수, 강수의 점수가 순서대로 주어진다. 점수는 모두 0점 이상, 100점 이하인 5의 배수이다..
이 녀석도 드디어 마지막 버전이다 숫자야구를 객체화하여 코드를 작성해보았다. mainClass.java package baseballClass; public class mainClass { public static void main(String[] args) { Baseball ball = new Baseball(); ball.init(); ball.loop(); ball.result(); } } Baseball.java package baseballClass; import java.util.Scanner; public class Baseball { int r_num[]; int u_num[]; boolean clear; public void init() { r_num = new int[3]; u_num..
Java의 객체지향(OOP)에 대해서 알아보겠다. 자바프로그래밍하면 객체지향프로그래밍 OOP(Object Oriented Programming)이라는 말을 공부하기 전부터 여기저기서 많이 주워들었다. 객체지향프로그래밍의 특성은으로 크게 캡슐화, 추상화, 다형성, 상속성 정도로 생각하면 쉽다. 그러므로 OOP라고하면 캡슐화, 추상화, 다형성, 상속성이 군대시절 총기번호처럼 튀어나오도록 머리에 각인시켜보자. 1. 캡슐화 캡슐화란 하나의 객체에 대해 그 객체가 특정한 목적을 위해 필요한 변수나 메소드를 하나로 묶는 것을 의미한다. 이름 그대로 캡슐처럼 만드는 거라고 생각한다. 따라서 클래스를 생성할 때 생성한 클래스에서 만들어진 객체가 특정한 목적을 가지고 있어야 하고 사용해야할 변수와 그 변수를 사용하는 특..