반응형

Programming 58

[JAVA] 기본적인 enum

enum (열거형 상수) enum은 열거형 상수라고 부르며 자바 1.5 버전부터 enum은 enum 데이터 타입으로 표시가 되었다. enum이 생기기 이전에는 상수를 사용할때 public static final과 같이 사용하였지만, 값 충돌 및 논리적인 문제점 등 다양한 문제가 발생되어 enum으로 대체하여 사용하고 있다. enum은 잘못 설정되면 컴파일 단계에서 에러가 발생하기 때문에 실행단계에 가기전에 에러를 파악할 수 있다. enum 생성 public enum 열거데이터타입 {상수값1, 상수값2, 상수값3 ... } //예 public enum Colors {RED, BLUE, WHITE, BLACK} Color는 열거형데이터타입이고 Red, Blue 등은 열거형 상수값이다. 열거형 상수는 열거데이..

Programming/JAVA 2020.02.25

[JAVA] 인터페이스 (Interface)

Interface 추상 메소드와 상수(final), default 메소드, static 메소드로 구성되어있다. 추상메소드로 인해 강제성을 줄 수 있어 통일성 및 일관성이 지켜져 재사용성과 유지보수가 좋아진다. 인터페이스의 추상 메소드는 abstract키워드를 생략할 수 있다. java 8버전 이상부터는 default와 static 메소드를 사용할 수 있게 되었다. 인터페이스는 객체생성이 불가능하며 상속과 비슷한 구현(implement)를 이용한다. 구현할때는 implements키워드를 사용하고, 구현한 클래스에서 반드시 인터페이스의 모든 추상 메소드들을 구현(재정의) 해야한다. public interface InterfaceName { public void test(); // abstract 생략가능 }..

Programming/JAVA 2020.02.24

[JAVA] 다형성(Polymorphism)

다형성(Polymorphism) 하나의 메소드나 클래스가 다양한 방법으로 동작하는 것을 의미한다. 혹은 하나의 객체가 여러가지 타입을 가질수 있는것을 말한다. 두 의미 달라보이지만 말만 다르지 똑같은 결과를 말하고 있는 것이다. 오버로딩 또한 다형성의 예라고 볼 수 있는데 이점에 대해서는 이견이 존재한다. 클래스 다형성 상속관계에서 상위타입의 변수로 하위타입을 참조할 수 있는 것을 다형성이라고 한다. 즉 부모 클래스 데이터타입의 변수로 자식 클래스 타입의 인스턴스를 참조할 수 있다. class Parent { public void superObj() { System.out.println("부모 클래스"); } } class Child { public void superObj() { System.out.p..

Programming/JAVA 2020.02.24

[JAVA] 상속(Inheritance), 오버라이딩(Override), super, super()

상속 우리가 현실세계에서 쓰는 상속과 비슷한 의미를 가지고 있다. 자바에서 상속은 부모 클래스의 메소드와 변수같은 멤버와 자원을 자식 클래스가 사용할 수 있다. 자바에서는 다중 상속을 지원하지 않는 대신 객체의 명확성을 높였다. 상속을 사용하면 중복된 코드를 줄이고 코드의 재사용성을 높여 유지보수가 편리하다 부모클래스 parent 클래스, 기반(base)클래스, Super 클래스, 상위 클래스 자식클래스 children 클래스, 후손 클래스, sub 클래스, 하위 클래스 상속을 받게 되면 부모 클래스의 필드와 메소드와 같은 멤버등을 물려받게 된다. 하지만 접근제어자가 private을 가지고 있는 멤버는 불가능하며, 부모 클래스와 패키지가 다를 경우 접근제어자가default인 멤버도 상속 받을 수 없다. ..

Programming/JAVA 2020.02.21

[JAVA] 생성자(Constructor)

생성자(Constructor) 생성자는 클래스에서 객체가 생성될 때 단 한번 호출되는 일종의 함수이다. 생성자는 클래스의 인스턴스 변수를 초기화 하는 역할을 하고 있다. 물론 메소드에서도 초기화를 할 수 있지만 생성자에서 초기화를 하고 메소드에서 인스턴스 변수의 값을 수정과 같은 작업을 하는 것을 권장한다. 생성자 구성 생성자는 메소드와 비슷하게 생겼는데 return을 할 수 없어 return type을 정의해주지 않는다. 생성자명은 반드시 클래스명과 같아야한다. [접근제어자] 생성자명(자료형 매개변수){ 코드... } // 예) public Apple(String name){ this.name = name; } 클래스의 객체를 선언하는것은 new를 사용하여 생성자를 호출하는 것이다. Apple appl..

Programming/JAVA 2020.02.19

[JAVA] static과 static 메소드, static 변수

static static이란 의미는 정적인, 고정의 이러한 뜻을 가지고 있지만, 코드에서 static은 모든 객체가 공유하는 것이라는 의미도 있다. 메모리에서 고정된 공간이 할당되기 때문에 static이라는 이름이 붙은것이다. 변수 선언으로 예를 들어보자면 자바는 Statically Type Variable (정적 타입 변수) 이다. int a = 1; 위의 코드와 같이 자바에서는 변수에 대입할 수 있는 데이터타입을 미리 정해준다. int 즉 정수 타입의 데이터만 담을 수 있는 것이다. 데이터 타입을 미리 고정하기 때문에 static인 셈이다. 하지만 반대로 자바 스크립트에서는 변수의 데이터 타입을 정하지 않고 선언하고 있다. var a = 1; 자바스크립트에서는 이처럼 데이터타입을 미리 정하지 않고, ..

Programming/JAVA 2020.02.18

[JAVA] 기본 배열(Array)

배열이란? 동일한 타입의 데이터와 변수들을 모아둔 하나의 묶음을 말한다. 데이터를 연속된 공간에 모아 각 데이터에 인덱스를 부여하여 저장하기 위한 자료구조이다. 자바에서는 배열도 객체이다. 배열 선언 객체배열(reference객체)의 경우 기본 데이터 타입 배열과 다르게 배열을 선언해도 값을 저장할 공간이 만들어지는 것은 아니고 메모리상의 실제 배열을 가리키는 포인터가 만들어진다. 배열변수는 참조변수이다. 배열은 객체이기 때문에 힙(heap)영역에 생성되고 배열변수는 힙영역의 배열 객체를 참조한다. new를 해주지 않으면 해당 배열은 null값을 가지게되며 null값을 가진 상태에서 배열을 활용하려고 하면 NullPointerException 에러가 발생한다. // 방법1 int [] array; // ..

Programming/JAVA 2020.02.18

[JAVA] 조건문 switch문

switch문 switch 문은 if문과 같이 조건에 맞는 경우에만 코드를 실행시키거나 실행되지 않도록 하는 조건문이다. switch 형식 switch(인자){ case 조건값1 : 실행문 [break;] case 조건값2 : 실행문 [break;] default : 실행문 [break;] } switch 문에서 인자로는 변수가 들어갈수 있고 수식도 들어갈 수 있다. 하지만 비교와 같은 조건식은 들어갈 수가 없다. 인자의 값에 해당되는 조건값을 가진 case가 실행이 된다. case는 여러개가 와도 상관이 없으며 break가 있다면 해당 case를 실행한 후 바로 switch문이 종료된다. 자바스크립트에서 function의 return과 비슷하다. 만약 break가 없다면 case가 실행되고 다음 cas..

Programming/JAVA 2020.02.13

[JAVA] 데이터타입(기본타입, 참조타입)

데이터 타입 (Data Type) Java에서 데이터 타입은 크게 2가지로 기본 타입과 참조 타입으로 분류가 됩니다. 기본 타입 (primitive type) 정수 타입 (byte, short, int, long) 실수 타입 (float, double) 논리 타입 (boolean) 문자 타입 (char) 참조 타입 (reference type) 배열 열거 타입 클래스 인터페이스 기본 데이터 타입 (primitive data type) Java에서는 총 8개의 기본 데이터 타입이 있다. 정수타입에 4가지, 실수타입에 2가지 논리타입과 문자타입에서 1가지이다. 위에 정리된 것을 보면 편하다. 자료형 타입 메모리 사용 크기 값의 범위 기본값 정수형 byte 1byte -128 ~ 127 0 short 2byt..

Programming/JAVA 2020.02.12

name과 id, class의 차이점

html에서 name과 id, class 모두 구분하기 위해 사용한다. 이 셋에 차이점은 값의 중복여부와, 서버쪽으로 데이터 전송 차이가 있다. id class name 페이지내 유일한 값 중복가능 중복가능 css식별자 가능 css식별자 가능 css식별자 불가능 - - action에 해당하는 페이지로 전달하는 Parameter의 키값으로 사용 쉽게 생각하여 javascript나 css에서 다룰려고 한다면 id나 class를 이용하는 것이다.

반응형