열거형, Enumeration- 클래스의 일종(=자료형)- 열거값을 가지는 자료형(제시된 값들 중에서 선택하는 자료형) 상황 ] 의류 쇼핑몰 > 고객 > 옷 선택 + 색상.(red, yellow, blue)색상 입력 -> 주관식 -> 유효성String color = "red";System.out.println(color); 색상 입력 -> 객관식1. red 2. yellow 3. blue String color = "1";if (color.equals("1")) {color = "red";}System.out.println(color); //열거형 선언.enum Color {// 멤버red, blue, yellow}enum Color2 {// 멤버RED, BLUE, YELLOW} // 열거형 사용.Col..
인터페이스, interface- 자바의 구성요소.- 클래스의 일종(자료형)- 추상클래스와 유사.- 추상메소드의 집합.- 상속관계에서 부모역할.- 구현멤버는 가질 수 없다.일반클래스 => 변수 + 메소드추상클래스 => 변수 + 메소드 + 추상메소드인터페이스 => 추상메소드 ex) class 일반클래스명{ 변수 메소드 } class 추상클래스명{ 구현멤버 변수 메소드 추상멤버 추상메소드(); } interface 인터페이스명{ 추상멤버 추상메소드(); } 상속일반클래스 > 일반클래스 : extends일반클래스 > 추상클래스 : extends일반클래스 가 인터페이스 를 (구현) : implements인터페이스 가 인터페이스 를 상속 : extends 인터페이스 구현 예제 //스피커 인터페이스 선언.interf..
1. 상속2. 추상클래스 메소드3. 메소드 오버라이드4. final 키워드5. 형변환 가장중요. 형변환, Type 참조형 형변환값형 참조형 1. 값형 형변환 - 숫자형끼리만 가능 - 큰형 -> 작은형 (명시적) - 작은형-> 큰형 (암시적) - 개발자 편의성 or 코드 유연성 2. 참조형변환- 클래스끼리 가능- 상속관계가 있는 클래스끼리만 가능(**********) -> 부모클래스 = 자식클래스 -> UpCasting -100% 구현 - >자식클래스 = 부모클래스 -> DownCasting -상황에 따라.CastParent p1;CastChild c1; c1 = new CastChild();부모클래스 = 자식클래스100% 안전.p1=c1; //암시적 .형변환 작은놈 -> 큰놈. 복사의 성공 유무 : 멤버..
Final- 클래스, 변수, 메소드 선언시에 사용할 수 있다.- final 키워드는 해당 선언이 최종상태이고 결코 수정할 수 없음을 의미한다.- 클래스, 변수, 메소드에 따라 의미가 달라진다.-> 클래스 : 상속할 수 없는 클래스, extends 키워드로 다른 클래스를 상속할 수 없다.-> 메소드 : 오버라이딩을 할수 없다. 부모클래스에서 선언된 final 키워드가 붙은 메소드는 자식클래스에서 오버라이딩(재정의)을 할 수 없다.-> 변수 : 초기값 초기화를 하면 더이상 값을 수정할 수 없다. final 변수- 값을 한번 할당하면 다시는 변경할 수 없음.- 상수에 가까운 변수. ex)int a = 10; // 일반변수final int b = 20; // 권장함final int c; // 비권장 System..
추상클래스- 객체를 직접 생성할 수 있는 클래스를 실체클래스라고 한다면- 클래스들의 공통적인 특성을 추출해서 선언한 클래스를 추상클래스라고 함- 추상클래스가 부모, 실체클래스가 자식으로 상속관계를 통해 추상클래스의 모든 특성을 물려받는 형태로 쓰인다. 추상클래스의 용도1. 실체 클래스들의 공통된 필드와 메소드의 이름을 통일할 목적-> 혼자 개발할 때는 상관없지만 여러사람과 협업을 통해서 개발을 할때는 이러한 통일된 양식이 매우 중요하다. 통일된 양식이란 추상클래스, 인터페이스와 같은 구현부가 없는 추상화된 부분을 통일된 양식(명칭상의)으로 삼는다. 2. 실체 클래스를 작성할 때 시간을 절약-> 공통적인 부분만 추상클래스에 작성하고, 차이점이 존재하는 부분은 실체클래스에 따로 작성하여 결과적으로는 다른 것..
상속 - 클래스와 클래스간에 발생- 부모 클래스가 가지고 있는 모든 멤버(변수, 메소드)를 자식 클래스에 물려줌- 왜?(****) - > 주로 코드 재사용 상속 관계에 있는 클래스- 부모 클래스자식 클래스- 슈퍼 클래스서브 클래스- 기본 클래스확장(파생) 클래스 ex) 12345678//부모클래스class Parent{ public int a; public void aaa() { System.out.println("aaa"); System.out.println(a); } }cs 1234567//자식클래스class Child extends Parent{ public int b; public void bbb() { System.out.println("bbb"); System.out.println(b); }}..
생성자와 Getter/Setter 메소드생성자- 특수한 목적을 가지는 메소드- 객체를 초기화하는 역할.********************- 접근지정자 : public 다른애 안가짐.- 반환값 없다. (void X -> 아예 표기 안함)- 인자값 가질 수 있다.- 마음대로 호출 불가- new : 연산자, 객체생성 연산자.- 자료형 변수명 = new연산자 생성자.- 생성자 : 객체를 초기화. KeyBoard 클래스 예제!1234567891011121314151617181920212223242526272829303132class KeyBoard { //멤버변수 초기화를 하는 값은 절대 상수만 사용한다. private String model; // ="K700"; private int price;//=Pric..
오늘은 이클립스를 사용하는데 있어서 기본적인 파일/폴더 구조를 설명해드리고자 합니다.이클립스는 workspace라는 작업공간, 즉 폴더를 두어 프로젝트들을 관리합니다. 프로젝트 안에는 여러 패키지가 존재하고, 패키지들은 여러가지 클래스들을 모아놓은 집합과 같은 것들 입니다. 자세하게 살펴보겠습니다. Workspace- 워크스페이스는 이클립스를 실행할 때 다음과 같은 화면을 보셨을 것입니다. Workspace라는 공간을 지정해주는 창으로. 이미 workspace로 잡혀있는 폴더나 새 폴더를 지정하면 그 폴더는 워크스페이스로 태어나게 됩니다. 워크스페이스로 지정이되면 - metadata- recommenders폴더가 생성이 됩니다. 복잡한 내용은 각설하고 간단히 이야기하자면, 이 폴더는 워크스페이스라는 표식..