일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- Android10
- 바텀네비게이션
- 안드로이드 디버깅툴
- 로띠애니메이션
- Bluetooth 스캔
- bottomNavigation animation
- 안드로이드
- svn체크아웃
- 안드로이드 로그캣
- 안드로이드aab변환
- BottomNavigation
- 로그캣 색상지정
- target29
- Android Bluetooth
- Android
- 안드로이드apk변환
- 투명도 hex값
- lottieAnimation
- Android OS 10
- 디바이스ID
- 고유식별자
- targetSDK29
- 바텀네비
- aab파일apk변환
- retrieveExplicitStyle
- 로그캣 색상변경
- Opacity Hex
- apk변환
- 앱강종
- 앱강종현상
- Today
- Total
목록Java (13)
공부하는 다락방
# abstract : 추상화 # abstract 메서드 - 메서드의 내용부가 정의 되지 않은 형태로 모델 개념의 메서드 - 반드시 오버라이딩 되어야 사용 가능 * 순수 디자인 목적은 아니지만 디자인을 어느 정도 가능하게 해줌. ex) public abstract void aaa(); => 다른 메서드와 다르게 세미콜론으로 끝내줌. 내용정의부가 없음. # abstract 클래스 - abstract 메서드를 포함하고 있는 클래스로 다형성 표현으로 사용 - 객체를 발생시킬 수 없는 것을 제외하면 일반 클래스와 동일 * abstract 클래스를 사용할 때는 항상 abstract 메서드를 사용해야함. 자바에서의 규칙임. ===================================================..
# 포함 Object의 단점 : 객체명의 접근 ex) CC cc = new CC(); //객체를 생성한 다음 객체명으로 단계 접근을 해야함. System.out.println("cc,z = " + cc.z); System.out.println("cc,y = " + cc.bb.y); System.out.println("cc,x = " + cc.bb.ap.x); # 최상위 클래스 : java.lang.Object * Object는 시조격 인터페이스를 제외하고 모든 것들이 다 Object를 상속받음. (클래스 계열) # 자바에서 생략된 형태들 - import, default 생성자, this, 0번째매개변수, toString(), Object, super() # this()와 super() - this() :..
# 중첩 클래스 (Inner Class) - 클래스 내부에 또 다른 클래스를 가짐으로 클래스 관리의 효율을 높인 것(static 포함불가) * Inner클래스는 그 자체만으로도 공유의 개념을 가지고 있음. 그러기 때문에 Outer클래스의 멤버필드가 private으로 되어있어도 공유해서 사용 가능. # 중첩 클래스의 형식과 생성파일 - 형식) class Outer{ class Inner{...}} - 생성파일) Outer.class, Outer$Inner.class # 중첩 클래스 객체 생성 - Outer.Inner oi = new Outer().new Inner(); ex) Outer ot = new Outer(); //Outer 클래스의 객체생성 Outer.Inner oi = ot.new Inner()..
# this 정의 : 클래스 내부에서 자신의 클래스를 지칭하는 객체 # this() 정의 : 생성자 내부에서 자신 클래스의 또 다른 생성자를 지칭하는 메서드 * 생성자 오버로딩 했을 경우 주로 사용. 그리고 항상 사용할 때에는 블록 바로 다음(첫번째 문장)에 있어야 함. # 메서드의 0번째 매개변수 - 자신_클래스명 this 생성된 객체 밑에 선언된 메서드들은 같은 공간을 차지. 즉, 값이 같음. es1.disp(); es2.disp(); # static 초기화영역 : static 멤버 필드의 값을 초기화 하기 위한 영역 (프로그램 시작 시 메모리가 할당, 종료되면 메모리가 소멸 됨.) - 형식 : static { 초기화 구문... } * static은 this 로 접근 하지 않음. 접근할 경우 클래스 ..
# 접근 제한자 - 클래스 내의 멤버에 접근을 제한하기 위한 예약어 # 접근 제한자의 종류 - private : 하나의 클래스 내에서만 사용 가능한 멤버를 지정할 때 사용하는 제한자 * 같은 멤버일 경우 사용 가능하지만, 메인메서드 같이 같은 멤버가 아닐 경우 객체 생성 후 사용 - package : 동일 파일 + 동일 폴더 * 다른 폴더일 경우 객체 생성도 import 해야하고 하더라도 접근 제한자가 없기 때문에 사용 불가 - protected : 동일 파일 + 동일 폴더 + 상속 - public : 객체를 가진 모든 영역 # 멤버 필드(Member Field) - 형식 : 접근제한자 [지정예약어] 자료형 필드명 = 값; # 멤버 메서드(Member Method) - 형식 : 접근제한자 [지정예약어] ..
# 클래스의 기본구성 형식 : 접근_제한자 지정_예약어 class 클래스 [extends 상위 클래스 implements 상위 인터페이스] # 포함 멤버 - Nested Class : 중첩 클래스 (Inner Class) - Field : 데이터 저장 공간 (멤버필드 : 클래스에 다이렉트로 포함되어있는 필드임.) - Construct : 객체 생성 및 초기화 Method - Method : 특정 행위의 기술 영역 # 객체 생성 * 객체 : 클래스 덩어리를 사용할 수 있도록 하는 키와 같은 역할 - 클래스명 객체명 = new 생성자(매개변수); * new : 동적 메모리 할당 (가비지 컬렉션 힙영역에 할당) # 연산자 : . (참조 연산) # 사용 - 객체명.Field or 객체명.Method # 객체 -..
# 배열의 정의 : 동일한 자료 형으로 선언된 데이터 공간을 메모리 상에 연속적으로 나열하여 데이터 관리의 효율성을 높인 것 # 기존 자료 처리와 배열의 비교 - 동일 자료형의 관리 - 유사 문구의 관리 # 단일 차원 배열의 선언 - 자료형[] 배열명; - 자료형 배열명[]; # 단일 차원 배열의 초기화 - 배열명 = new 자료형[개수]; ex) int sub[] = new int[3]; - 배열명 = new 자료형[]{초기값, 초기값...}; ex) int sub1[] = new int[]{100, 50, 70}; * default 초기화 //boolean --> false //byte, short, int --> 0 //char --> 0, '\0' //long --> 0L //float --> 0..
# 메서드의 정의 - 자주 반복하여 사용하는 내용에 대해 특정 이름으로 정의한 묶음 # 형식 접근_제한자 지정_예약어 결과형_리턴값 메서드 명(매개변수들) throws 예외_클래스들{ 내용 정의부; } # 메서드의 종류 - Call By Name : 메서드의 이름에 의해 호출되는 메서드로 특정 매개변수 없이 실행 - Call By Value : 메서드를 이름으로 호출할 때 특정 매개변수를 전달하여 그 값을 기초로 실행하는 메서드 - Call By Reference : 메서드 호출 시 매개변수로 사용되는 값이 특정 위치를 참조하는 reference 변수 * Value 와 Reference 차이점 : 전달되려고하는 그 데이터의 원본데이터가 변하냐 안 변하냐 따라 Value 와 Reference로 나뉨. # ..
# 제어문이란? - 문장의 흐름을 위 -> 아래, 좌 -> 우의 순 - 문장의 흐름을 제어하여 예약어 -> 제어문 # 제어문 : 만약 ~ 라면 # 1형식 : if(논리 조건문) {내용부;} => 조건 하나를 줄 때, 그 조건이 참일 경우 수행할 부분이 한 줄이면 블록으로 감싸지 않아도 됨 # 2형식 : if(논리 조건문) {...} else{...} => 조건이 외에 다른 로직을 수행하고 싶을 때 ex) if(su1 > su2){ System.out.println("큰수는 "+ su1 + "입니다."); }else{ System.out.println("큰수는 "+ su2 + "입니다."); } # 3형식 : if(...){...} else if(...){...} else{...} => 여러 조건을 줄 때..
# 연산자의 개념 - 피연산자(상수나 상수를 저장하고 있는 변수)들 사이의 계산방식을 특정한 기호로 표시 # ★연산자 우선 순위(필수 암기!!) - 최우선 연산자 -> 단항 연산자 -> 산술 연산자 -> 쉬프트 연산자 -> 관계 연산자 -> 비트 연산자 -> 논리 연산자 -> 삼항 연산자 -> 배정 대입 연산자 -> 증감 후위 연산자 -> 순차 연산자 # 최우선 연산자 - "." , "[]" , "()" # 단항 연산자 (항이 하나로 이루어져 있기 때문에 '단항' 이라고 부름) - 논리 부정과 비트 부정 : "!"(논리 부정), "~"(비트 부정) - 부호 연산 : "+/-" - 증감 전위 연산 : "++/--" (자기 자신의 값을 1증가/ 자기 자신의 값을 1감소) * 전위/후위로 나뉘어져있음 ex) ..