Java 31

[enum] enum - Class 로 사용하기

학습목표 : enum 의 개념을 이해하고, 단순 예제로 설명을 할 수 있다. | enum (enumerated type, enumeration) - 연관된 상수들의 집합 일반배열과는 어떻게 다르지?? - 일반배열은 그 배열의 값이 변수로 변형이 가능하다. - enum 은 상수들의 집합으로 변형이 되지 않는다. 1. 첫번째 예제. - 성별을 넣는 프로그램 - 남자, 여자를 선택하도록 한다. - 하지만, gender1 변수는 남자,여자 외에 다른 값도 들어갈 수 있다. package self._enum.youtube2; public class EnumExam { public static final String MALE="MALE"; public static final String FEMALE="FEMALE"..

Java/enum 2021.05.13

[instanceof] 나는 어디 소속인가?

학습목표 : instanceof 의 개념일 이해하고, 예제를 통해 이해할 수 있다. 개념 : 생성된 객체가 어느 클래스에 속해있는지를 확인하는 연산자이다. 특히, Interface 를 통해 객체를 생성할때, 어느 구현체의 것인지 확인 할 때 유용하게 사용 가능하다. SampleMain.java package book.oopforsprings.lec04._instanceof; public class SampleMain { public static void main(String[] args) { Bird bird = new Bird(); Bird eagle = new Eagle(); Sparrow sparrow = new Sparrow(); IfFly ifFly = new Eagle(); // Class T..

Java 2021.05.12

[Team Study] [Annotation] 자바 어노테이션에 대해 알아보자

학습목표 : 자바 어노테이션을 이해하고 그 종류에 대해 공부한다. 사전적 의미 annotation : 주석(을 달다) | an + notation : 하나의 표기법 ※ Java Tutorials : https://docs.oracle.com/javase/tutorial/java/annotations/index.html Annotations, a form of metadata, provide data about a program that is not part of the program itself. Annotations have no direct effect on the operation of the code they annotate. Annotations have a number of uses, amon..

Java 2021.05.12

final 키워드에 대한 고찰

학습목표 : final 키워드에서 주의할 점을 알아본다. final 은 최종이다. 클래스, 변수, 메소드에서 여기가 마지막이라는 표시를 해준다. 아래 예시를 통해 익혀보자. 1. final Class - 최종 Class 로 final 은 상속을 허락하지 않겠다는 의미이다. - 요즘말로, 딩크족이다. 아이를 낳지 않겠다니.. public final class Cat_Super { } // 상속을 허용하지 않아서 오류 발생 class Cat_Child extends Cat_Super { } 2. final 변수 = 상수 - 변경 불가능한 변수 즉 상수가 된다. - 단, 초기화 되지 않은 상수의 값은 static, 지역변수를 구분하여 초기화가 가능 package book.oopforsprings.lec04._..

Java 2021.05.11

[Interface & Extends] 이 둘의 단순하지만 OOP적인 Collaboration

학습목표 : 인터페이스와 상속의 조화로운 모습을 이해한다. * 내용은 단순하기 때문에 클래스 구조와 소스를 직접 실행해보면 상속과 인터페이스를 별개로 생각하기 보다는 서로 연결되는 부분이 있다는 점을 생각할 수 있습니다. 클래스 구조 2. 소스코드 package book.oopforsprings.lec03.ver04_interface_plus_extends; /* * The collaboration of Interface and Extends */ public class Interface_plus_Extends { public static void main(String[] args) { IfFly bat = new Bat(); bat.fly(); IfFly sparrow = new Sparrow(); s..

Java 2021.05.06

[Interface] 인터페이스에 대한 수준낮은 고찰

학습목표 : 인터페이스가 낮은 수준에서 어떻게 구현되는지 알게된다. 시나리오 : 버스, 자가용, 자전거가 각각의 클락션 소리를 낸다고 가정한다. 1. MainSample.java package interfacesample.ver1; public class MainSample { public static void main(String[] args) { // TODO Auto-generated method stub Bus bus = new Bus(); System.out.printf("Bus Sound : %s \n",bus.sound()); Car car = new Car(); System.out.printf("Car Sound : %s \n",car.sound()); Bike bike = new Bike..

Java 2021.04.28

Abstract vs Interface

학습목표 : Abstract vs Interface 에 대한 관계를 이해한다. 궁금했다. 왜 Interface 는 abstract 를 표기하지 않을까?? 혹시... 1. Abstract (추상화) * 특징 - 클래스 (abstract class A{}) a) ( = Interface ) 추상 클래스는 객체로 생성하여 사용이 불가하다. b) ( != Interface ) 추상 클래스는 다른 클래스에서 상속(extends) 받아서만 사용 가능하다. c) ( = Interface ) 추상 클래스 의 추상 메서드는 선언만 가능하다. (구현 불가 - 구현은 상속된 클래스에서만 사용) d) ( != Interface ) 추상 클래스는 일반 메서드의 선언과 구현이 가능하다. (Interface 와 다른 점) e) (..

Java 2021.04.24

[JAVA] Servlet , Beans 차이가 뭔가?

둘의 차이는 간단하게, Web 관련 I/F 에 있다 라고 말하고 싶다. Servlet = http + java 의 기능을 구현한다. (단 둘이 너무 혼합되면 복잡하니 이것들을 구분한다. Java 는 java 처럼(Pojo) Beans = 서블릿은 http 관련 업무만 하게 하고 Beans들이 자바의 업무를 하게 한다. * 브라우저를 통해 들어오는 어떤 내용을 서버(WAS)에서 받아야 한다면, 둘 사이는 약속된 규정을 가지고 통신을 해야 하는데, 이 규약이 HTTP 이다. [허접한 그림 설명]

Java 2021.04.21

[JAVA] Collection & Map

* 전체 구조 Collection (1차원배열의 자동화, 값이 하나만 들어감) - List (순서가중요, 중복허용O) : ArrayList, Vector, Stack, LinkedList - Set (순서는그닥, 중복허용X) : HashSet , SortedSet Map (2차원 배열의 자동화, 값이 2개 , Key, Value) - Hashtable (동기화보장) - HashMap (동기화보장하지 않음) - sortedMap (정렬을 위해 사용) - TreeMap * 참고 자료 : hwan1001.tistory.com/10 [JAVA] Collection(List, Set, Map)의 종류와 이해 1. JAVA Collection Framework JAVA에서 기본적인 자료구조를 제공하기 위한 환경 2..

Java 2021.04.19

[Java ] static & final

Q) static 과 fianl 은 왜 자주 붙어 다니는가? A) static 은 전역의 의미를 갖게한다. 물론, public, private, defaul, protected 의 영향을 받는다. final 은 변경을 허용하지 않는다는 뜻이다. 즉 전역상수(변하지않는 값)로 사용할 경우가 있어서, 둘이 붙어다니는 경우가 많다. ex) public class Family{ public static final String strLove ="Y"; // 어디서나 누구나가 물어봐도, 가족을 사랑한다라고 정해져 있다. } System.out.println(Math.PI); // 3.14 불변의진리 값을 가진다. 이 값도 static finally 로 선언되어 있을것으로 보인다. Q) static 은 언제 사용하는..

Java 2021.04.18