전체 글 144

4. JAVA - interface 관련 정리

1. 인터페이스 인터페이스는 추상클래스의 일종이다. 인터페이스는 추상클래스보다 추상화의 레벨이 더 높다.(더 깊게 추상화됨) 추상클래스는 멤버변수, 일반메소드, 추상메소드를 가질 수 있었는데 인터페이스는 멤버변수, 추상메소드만 가질 수 있다. 멤버변수도 무조건 final키워드로 상수인 변수만 가질 수 있다. 인터페이스가 가질 수 있는 요소의 정의 변수는 무조건 public static final으로 시작해야되는데 웃긴건 생략이 가능하다. 모든 메소드는 public abstract로 시작해야된다. 마찬가지로 생략가능. Java 1.8이상부터는 static 메소드와 default 메소드 사용가능. 인터페이스 정의 interface 인터페이스명 { int ; public void ~(); } 컴파일러가 int..

3. JAVA - 이클립스에서 터미널에서 실행 가능Jar파일 만드는법

JAR(Java ARchive) 파일은 Java 언어로 작성된 애플리케이션, 라이브러리, 클래스 및 관련 리소스를 하나의 파일로 묶어서 저장하는 파일 형식입니다. JAR 파일은 압축 파일로, .jar 확장자를 가지며, 일반적으로 Java 애플리케이션을 배포하고 실행하는 데 사용됩니다. 이를 생성하여 터미널에서 실행시키기 위한 방법은, 1. 이클립스에서 원하는 파일 우클릭 후 Export를 눌러준다. 2. Java - Runnable JAR file 선택, 3. Launch configuration 에서 실행할 main 메소드가 있는 클래스를 골라주고, Export destination에 jar 파일이 위치할 경로를 설정해준다. 4. 터미널에서 .jar 경로로 이동 후, java -jar 파일명.jar 를..

2. JAVA - 다형성 관련 정리

1. 다형성 다형성이라는 것은 많은 형태를 가질 수 있는 것을 의미한다. 자식클래스가 부모클래스를 상속받게 되면 자식클래스는 자식클래스의 형태도 가지면서 부모클래스의 형태도 가지게 된다. 부모클래스 형태의 변수에 자식클래스의 객체를 넣어서 사용하게 되면 하나의 변수로 다양한 기능을 만들 수 있다. 기능의 다양화는 오버라이딩을 통해 이뤄진다. 부모클래스에 존재하는 메소드를 오버라이딩을 통해 자식클래스에서 다양한 기능으로 만들어서 부모클래스 형태의 변수로 같은 메소드를 호출했을 때 서로 다른 결과나 기능을 나타나게 할 수 있다. 다형성을 이용하여 코드의 중복부분을 많이 줄일 수 있다.(공수절감효과) 2. 다형성의 장점 유연성: 여러 객체를 하나의 변수로 처리할 수 있어서 유연하게 객체를 변경할 수 있다. 확..

1. JAVA - static 관련 정리

1. static static은 해석하면 '정적인' 이라는 뜻을 갖고 있다. Java에서 정적이다라는 것은 메모리에서 삭제되지 않는 것을 의미한다. static 키워드를 이용하면 프로그램 시작부터 종료까지 삭제되지 않는 변수나 메소드를 만들 수 있다. 2. 인스턴스 변수와 메소드 지역변수는 선언된 {}블록 안에서만 사용이 가능하다. 인스턴스 변수와 인스턴스 메소드는 객체를 생성했을때 사용한 변수와 메소드. 일반적으로 클래스에 선언되어 있는 변수와 메소드를 의미함. 객체가 메모리에 저장되어 삭제되기 전까지 인스턴스 변수와 인스턴스 메소드를 사용할 수 있다. 3. 클래스 변수와 메소드 클래스 변수와 클래스 메소드는 어플리케이션 시작부터 종료까지 메모리에서 삭제되지 않고 계속해서 사용가능한 변수..

Eclipse 단축키

자주쓰는 이클립스 단축키 모음 Eclipse의 단축키는 Window -> Preferences -> General -> Keys 메뉴에서 확인 및 변경이 가능하다. 1. Java Editor 단축키 Ctrl + Shift + B : 현재 커서위치에 Break point설정/해제 Ctrl + Shift + F : 소스코드 자동 정리 Ctrl + Shift + G : 현재 커서가 위치한 특정 메소드나 객체, 필드를 Reference하고 있는 곳을 찾는다. Ctrl + Shift + J : 검색할 단어를 입력하면서 실시간으로 거꾸로 검색 Ctrl + Shift + K : 이전찾기 (또는, 찾고자하는 문자열을 블럭으로 설정한 후 역으로 찾고자 하는 문자열을 찾아감.) Ctrl + Shift + L : 단축키 보..

REST API란 ?

1. API ? API란 Application Programming Interface 으로써 응용 프로그램간에 데이터를 주고받는 방법을 말한다. 프로젝트를 진행하면 JSON 혹은 XML 형식으로 값을 return 받을 일이 많다. 2. REST ? Representational State Transfer API 로써 웹에서 필요한 자원에 접근할 때 웹의 장점을 최대한 활용하기 위한 아키텍처 즉, 개발자들 사이에서 널리지켜지는 약속이다. 잘 짜여진 REST API 를 사용한다면, 주소와 메소드만 보고도 어떤 식으로 API가 이루어져 있는지 쉽게 파악 할 수 있는 장점이 있어, 현재 많이 쓰인다. 2-1 .REST API 구성요소 HTTP Method GET - 데이터를 조회하는데 사용된다 (Read) PO..

카테고리 없음 2021.05.10

[React] 웹뷰와 안드로이드 (Native) 간에 상호 통신하기

1. 웹뷰에서 Native 함수 실행하기 webView.addJavascriptInterface(WebBridge(), "BRIDGE") onCreate()에 addJavascriptInterface 메서드를 추가하여 웹뷰와 통신할 WebBridge 클래스를 생성해준다. BRIDGE는 추후 나올 react에서 접근할때 사용할 식별자이다. class WebBridge { @JavascriptInterface fun connectAndroid(): String { return token } } WebBridge 클래스 안에 @JavascriptInterface를 추가하여 웹뷰와 안드로이드를 이어준다. 안에함수들은 자유롭게 작성해준다. if (window.BRIDGE !== undefined) { window..

[Android][Kotlin] zxing 라이브러리를 이용해서 바코드 , QR코드를 인식해보자 (커스텀 진행)

0. 들어가기 앞서 zxing 이란? - 구글에서 제공하는 오픈소스로 Zebra Crossing의 약자이며, 다양한 바코드를 인식할 수 있다. 1. 시작 1-1. build.gradle implementation 'com.journeyapps:zxing-android-embedded:4.1.0' implementation 'com.google.zxing:core:3.4.0' 해당 라이브러리를 추가해준다. 1-2. Manifest.xml -- 라이브러리 추가 -- 카메라 권한 해당 권한을 추가해주어아 한다. 그리고, 바코드스캔을 사용하고자 하는 액티비티도 추가해준다. 나는 스캔하고 원래 화면으로 돌아올 것이 아닌, 현재 식당등지에서 많이 쓰이는 qr체크인 방식처럼 계속 인식되게끔 만들어보았다. 1-3. x..

[Android][Kotlin]fragment 에서 Notification으로 알림주기

1. 시작하기 알림 콘텐츠를 설정하려면 NotificationCompat.Builder 객체를 사용하여 알림 콘텐츠와 채널을 설정해야 한다. setSmallIcon() - 아이콘 설정, 필수 항목이다 setContetntTitle - 제목 setContentText - 본문 텍스트 val builder = Notification.Builder(context, "testChannel") .setSmallIcon(R.drawable.test_icon) .setContentTitle("test") .setContentText("test") 2. 채널 만들기 및 중요도 설정 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { val name = "테스트 채널" val..