JAVA 배열(Arrays)의 활용과 팁(tip)

배열(Arrays)이란? - 바로가기 배열을 사용할때 사용자가 0이아닌 임의의 수로 초기화를 하고 싶을 때는 어떻게 하여야 할까?0을로 초기화를 하기 위해서는 그냥 객체를 생성해주면 자동으로 0으로 초기화가 이루어진다.하지만 사용자가 원하는 수로 초기화 하는 방법에는 약간의 차이가 있다 일반적인 배열의 선언과 객체생성 그리고 0으로 초기화int[] num = new int[10]; 사용자가 원하는 수로 초기화int[] num = new int[] {10,20,30,40,50,60};이렇게 작성할 수 있다.배열의 갯수를 적지않는 이유는 주어진 초기값의 갯수만큼 자동으로 배열을 생성해주기 때문이다. 한가지 팁이라면 저 문장에서 굳이 new를 사용하여 생성을 하지 않아도 된다. 모든것이 자동으로 생성이 된다...

JAVA 배열(Arrays)이란?

배열은 같은 타입의 변수들의 모임이며 배열은 하나의 이름을 공유한다.자바에서는 C언어와는 달리 배열은 하나의 객체이다. 따라서 객체들을 생성하고 선언하는 것과 유사한 절차를 거처야 한다.즉 먼저 참조변수를 선언하고 이어서 객체를 생성하여야 한다.- c언어 - 정적 배열- JAVA - 동적 배열c언어 배열 - 바로가기JAVA 객체 - 바로가기 그럼 배열을 사용하는 이유는 무엇일까?만약에 100명 학생의 점수를 입력해야 한다면 변수를 100개 선언해야할까?이작업은 너무나도 귀찮고 힘든 작업이다. 그래서 이러한 상황에 배열을 사용하는 것이다. 간단히 예제를 만들어 보겠다.학생 10명의 점수를 입력받아 합을 구해보자. public class Test {public static void main(String[] ..

JAVA 상속 - super 키워드

super 키워드는 상속 관계에서 슈퍼 클래스의 메소드나 필드를 명시적으로 참조하기 위하여 사용된다.슈퍼클래스의 메소드나 필드를 재정의한 경우에 super를 사용하면 슈퍼클래스의 메소드나 필드를 호출할 수 있다.super 키워드는 this 와 비슷한 성질을 지닌다. public static void main(String[] args) {// TODO Auto-generated method stubChild c = new Child("hello"); // child의 객체를 생성하고 생성자 호출}}class Parent {// 전달인자가 있으므로 두번째 메소드(생성자) 실행 - 슈퍼클래스public Parent() {System.out.println("p기본 생성자()");}public Parent(Str..

JAVA 상속 - 재정의(Overriding)와 주해(Annotation)

메소드 재정의(Overriding Method)상속받은 메소드가 변경이 필요하다면 해당 메소드의 헤더는 그대로 두고 메소드의 몸체만 바꾸는 것이다.집으로 치자면 상속받은 집내부의 벽지나 창문이 마음에 들지않아 리모델링하는 것과 같다. 서브클래스에서 오버라이딩(Overriding)을 할 경우 반드시 슈퍼클래스의 메소드의 반환형, 이름, 매개변수의 갯수와 데이터 타입이 일치 하여야 한다. 아래의 코드를 작성하여 실행하여 보면 이해가 빠를 것이다. public static void main(String[] args) { // 메인 메소드// TODO Auto-generated method stubDog d = new Dog();Animal a = new Animal();a.sound(); // 슈퍼클래스 메소..

JAVA 상속 - 부모(슈퍼)클래스와 자식(서브)클래스

상속(Inheritance)이란 이미 존재하는 클래스로부터 멤버들을 물려받는 것이다. 상속되는 클래스를 부모 클래스라하며 슈퍼클래스(Super class)라고도 한다.자식 클래스는 서브클래스(Sub class)라고도 하며 상속을 받는 클래스를 의미한다. 상속이라고 해서 특별한 의미가 있는 것은 아니다. 현실에서와 비슷하게 그저 부모님의 집을 상속받아 그대로 사용을 하거나 물려받은 집을 보수또는 리모델링(오버라이딩)할 수 있는 것과 같다. 자바에서 클래스를 상속 받기위해서는 클래스 정의후에 옆에 extends를 적고 상속받을 클래스 이름을 쓰면된다.ex) class SubClass extends SuperClass 그리고 서브클래스는 슈퍼클래스의 멤버와 메소드들 마치 자기 것처럼 사용할 수 있으며 슈퍼클래..

JAVA 들여쓰기 단축키

프로그램이 코드를 읽는데 있어서 들여쓰기는 중요한 것이 아니다 하지만 사람이 읽는데 있어 많은 어려움이 있기에 들여쓰기를 하는것 이다. 자바를 블로그나 워드 파일 등에서 복사&붙여 넣기를 하게 되면 보통의 경우 엔 들여 쓰기가 엉망이다.이런 경우, 모르는 사람이라면 한줄한줄 탭키와 백스페이키를 누르며 힘들게 작업할것이다.하지만 이제는 그럴 필요가 없다. 먼저 예를 보여주겠다아래의 코드를 보고 무엇인가 느껴지는 것이 없다면 프로그래머가 아니다. 이제 여러분의 코드들을 블럭을 친후에 단축키 "Ctrl + i"를 클릭 하여보자아마도 아래의 사진 처럼 시원하게 들여쓰기가 잘 되었을 것이다.들여쓰기가 별로 중요한것 같지 않을수도 있지만 생각하는 것 보다 중요하며 그냥 넘겨버려서도 안된다.

JAVA 클래스와 객체(class & object) - 객체(object), 클래스(class)

객체는(Object)는 객체 지향 기술의 핵심 개념이다. 객체는 상태와 동작을 가지고 있다. 객체의 상태(state)는 객체(자동차)의 특징값(속성)이다.자동차로 예를 들어 보겠다. [객체: 자동차(car)]차량의 색상: red현재의 기어: 1현재의 속도: 20km/h연식: 2014등등 이런것들이 속성 즉, 객체의 상태(State)가 된다.그리고 저것들을 변수로 표현을 할때 우리는 필드(field)라고 한다.(필드=변수들=속성,상태) 객체의 동작(Behavior)은 객체(자동차)가 취할수잇는 동작이다.시동걸기출발하기멈추기가속 하기감속 하기기어 변경등등 이런것들이 객체의 동작(Behavior)이 된다.그리고 우리는 객체내의 저런 것들을 C언어에서는 함수라하고 자바에선 메소드(Method)라 한다. 클래스(..

JAVA 16진수의 문자열을 2진수 문자열로 반환하자

16진수(Hexadecimal)의 문자열(String)을 2진수(Binary number) 문자열(String)로 반환하자 조건1 16진수(Hexadecimal)와 2진수(Binary number) 모두 문자열(String)이어야 한다.조건 2 아래처럼 배열을 사용한다.String[] hex2bin = {"0000","0001","0010","0011", "0100","0101","0110","0111", "1000","1001","1010","1011", "1100","1101","1110","1111"}; 결과16진수 문자열을 입력하세요.1abc"1abc"에 대한 이진수는 0001 1010 1011 1100 소스 코드public static void main(String[] args) {Scanner..

JAVA 입력받은 값들의 분포를 시각적으로 볼 수 있는 히스토그램으로 만들어라

입력받은 값들의 분포를 시각적으로 볼 수 있는 히스토그램(histogram)을 만드는 프로그램을 작성 하시오.이 프로그램은 1과 100사이의 정수 10개를 읽어야 하고 1-10, 11-20 등의 범위에 드는 값들의 횟수를 아래와 같이 출력하여야 한다. 조건1 배열을 사용조건2 1~100까지의 정수 10개 결과1 - 10: 11 - 20: 21 - 30: * * 31 - 40: * 41 - 50: * * * 51 - 60: 61 - 70: * * 71 - 80: * * 81 - 90: 91 - 100: public static void main(String[] args) {Histogram histo = new Histogram(); // Histogram class의 객체 histo 생성 histo.ge..

JAVA 클래스와 객체 - 캡슐화, 상속, 다형성

클래스와 객체 캡슐화 (Encapsulation)캡슐화의 용도는 객체의 속성(필드값,data fields)과 동작(메소드,method)를 하나로 묶어 준다.그리고 데이터의 일부를 감추어 외부와의 상호작용은 메소드를 통하여 할 수 있게 한다.(정보은닉)캡슐화는 객체지향프로그램인 자바(JAVA)에서 매우 중요하며, 우리는 자바에서 클래스(class)라 한다. 상속 상속은 기존의 코드를 재활용 하기 위한 기법으로 이미 작성된 클래스(부모 클래스)를 이어 받아서 새로운 클래스(자식 클래스)를 생성하는 기법이다.자식 클래스는 부모 클래스의 모든 속성과 동작을 물려받는다. 추가로 만약 자식 클래스에만 필요한 기능이 있다면 추가 또는 변경할수있다.상속은 기존의 코드를 재상용하는 강력한 기법이다. 다형성다형성이란 객체..