목록분류 전체보기 (136)
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..
10818번 N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int arr[] = new int[n]; for (int i = 0; i < arr.length; i++) { arr[i] = sc.nextInt(); } Arrays.sort(arr); System.out.println(arr[0]); System.out.println(arr[arr.length-1]); } } 2562번 9개의 서로 다른 자연수가 주어질 때, 이..
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. 캡슐화 캡슐화란 하나의 객체에 대해 그 객체가 특정한 목적을 위해 필요한 변수나 메소드를 하나로 묶는 것을 의미한다. 이름 그대로 캡슐처럼 만드는 거라고 생각한다. 따라서 클래스를 생성할 때 생성한 클래스에서 만들어진 객체가 특정한 목적을 가지고 있어야 하고 사용해야할 변수와 그 변수를 사용하는 특..
드디어 Sorting의 마지막 버전일 것 같다. 이번에는 Sorting이라는 기능을 객체화시켜서 만들어 보았다. mainClass.java package sortingClass; public class mainClass { public static void main(String[] args) { Sorting sort = new Sorting(); sort.input(); sort.sorting(); sort.result(); } } Sorting.java package sortingClass; import java.util.Scanner; public class Sorting { //멤버변수 (두 가지 이상 메소드에서 접근해야하는 경우에 선언) int number[]; boolean updown; //..
Java의 Overloading에 대해서 알아보자. 자바에서 다형성을 지원하는 방법은 오버로딩(Overloading)과 오버라이딩(Overriding) 2가지로 볼 수 있다. 오버로딩(Overloading)과 오버라이딩(Overriding) 이름이 굉장히 비슷해서 헷갈리기 쉽다. 그 중 오버로딩(Overloading)에 대해서 알아보겠다. 오버로딩(Overloading) : 같은 이름의 메소드를 여러 개 가지면서 매개변수의 유형과 개수가 다르도록 하는 기술 오버로딩(Overloading)은 메소드 오버로딩과 생성자 오버로딩이 있지만 둘 다 같은 개념이라고 보면 쉽겠다. 같은 이름의 함수를 여러 개 정의하고, 매개변수의 유형과 개수를 다르게 하여 다양한 유형의 호출에 응답하게 한다. package over..