java 48

[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] 인터페이스에 대한 수준낮은 고찰

학습목표 : 인터페이스가 낮은 수준에서 어떻게 구현되는지 알게된다. 시나리오 : 버스, 자가용, 자전거가 각각의 클락션 소리를 낸다고 가정한다. 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] 접근 제어자 public, private, protected, default 는 무엇인가?

Public - class : 어디서나 접근가능 - method : 해당 객체에 접근 가능하면, 누구나 사용 가능 - 멤버변수 : 해당 객체에 접근 가능하면, 누구나 사용 가능 Protected (최상위 클래스 선언 불가) - class : 같은 패키지에 속해있는 클래스에서 호출 가능, 다른 패키지에서는 상속을 받을 경우 사용 가능 (inner class 만 선언가능) - 단, 최상위 클래스는 protected 사용 불가 - method : 해당 객체에 접근 가능한 - 멤버변수 : 상속받은 곳에서만 접근 함 Private - class : 해당 클래스만 사용 가능, 동일패키지도 접근 불가 (inner class 만 선업가능) 단, 최상위 클래스는 private 사용 불가 (최상위 클래스가 private ..

Java 2021.04.18