개발세발

[Java/자바] 자바 API와 UI 본문

코딩공부/Java

[Java/자바] 자바 API와 UI

뉼👩🏻‍💻 2022. 2. 17. 15:05
728x90
반응형
SMALL

 

스터디하다가 생겨난 궁금증을 해결해보고자 찾았던 내용을 정리한 글 

 

 

API(Application Programming Interface) 

:자바 시스템을 제어하기 위해서 자바에서 제공하는 명령어들이다.

 - 라이브러리(library)로 프로그램에서 자주 사용되는 클래스 및 인터페이스(중간 조작법)의 모음을 말한다. 

 

그러므로 프로그램을 만든다= 자바의 시스템을 코드를 통해서 사용하는 관계에 있다.

 

UI ; User Interface

ui ; 사용자를 대변하는 접점을 포괄해서 부르는 것. 

/ 사용자의 의중을 시스템에 전달하고 시스템의 상태를 사용자에게 보여준다 ; 홈페이지

 

javascript.alert("Hello world"); 

 

alert 이라는 명령어 전달 ==> 일종의 'interface'이나 코드의 형태를 띄고 있음

=>이러한 조작방법을 이용한 코드들의 결합하여 어플리케이션을 만드는것 

=>> 즉, application programming "interface"

 

따라서 개발자와 아닌 사람의 차이는

아닌 사람은 ui를 통해서 시스템을 제어하고 

개발자는 ui+api를 사용해 시스템을 제어한다. 

 

그래서 결국 프로그램을 만든다는 것은 API를 조작하는 것이다

맥락에 따라 API를 활용해서 만드는 것이다. 

 

 

[예시]

println('")

println 메소드로 여러 데이터 타입을 넣을 수 있는 것은 다양한 형태의 데이터 타입을 오버로딩해서 준비하고 있기 때문이다. 

 

printStream은 java.lang.* 에 속하며 java.lang.*; 은 굳이 import 해주지 않아도 자동으로 import됨

 

 

- java.lang  : 자바 프로그래밍을 위한 가장 기본적인 패키지와 클래스를 포함하고 있다.


- java.util   : 프로그램을 제어하기 위한 클래스와 데이터를 효율적으로 저장하기 위한 클래스들을 담고 있다.

- java.io     : 키보드, 모니터, 프린터, 파일등을 제어할 수 있는 클래스들의 모음
- java.net   : 통신을 위한 기능들을 담고 있다.

 

 

아래의 공식사이트에서 더 자세하고 다양한 api를 확인할 수 있다.

https://docs.oracle.com/javase/8/docs/api/

 

Java Platform SE 8

 

docs.oracle.com

 

api documentation을 통해 여러 클래스와 그 안의 메서드를 어떻게 일반적으로 사용하는지를 알 수 있다. 

 


[출처]

 

생활코딩 : Java - API와 API문서 : API

https://www.youtube.com/watch?v=5fgLVBsz9ak   

https://www.youtube.com/watch?v=E2uyQlgdB34 

 

생활코딩 : UI와 API 

https://www.youtube.com/watch?v=Z4kH0IZVT-8 

 

Neso Academy - Method Overloading in Java

https://www.youtube.com/watch?v=km8xnlSRtWg 

 


📝[REVEIW]

 

배웠던 내용인거 같은데 처음에 들었을 때는 자바를 제대로 이해하지 못해서 api개념도 이해가 되질 않았다. 그러다가 좀 배우고 난 뒤 다시 접하니 아 이게 이거구나 싶었다. 

아는만큼 보인다를 오늘도 느끼며. 

 

 

자료공유받으며 이 문장이 초반에 올라왔을 때 보긴 봐는데 뭐 봐야하는지, 어떤 궁금증이 들 때 이걸 보는지 몰라서 알 수가 없었는데 오늘 조금이나마 그 의문을 해결한 거 같다. 

결국 내가 배우고 있는 언어가 객체지향언어라는 것. 매번 공부하면서도 까먹는 거지만 세세한 디테일을 정확하게 알고 넘어가는 것은 좋지만 궁극적으로 그 디테일이 무엇을 위해 필요한지를 잊으면 안되는 것 같다. 결국 하나의 객체를 만들고 불러오는 과정이 필요한 객체를 지향하는 언어이므로 이러한 흐름이 요구된다는 것. 더 많은 개발자들의 업무 효율성을 높이기 위해 미리 만들어준 api가 있어 필요한 메서드를 불러오며 프로그램을 만들어 나가는 언어라는 것. 어떻게 보면 많은 것들이 이루어져 있어 내가 활용만 능숙하게 해 낸다면 정말 많은 것을 할 수 있는 언어라는 점이 느껴졌다. 다만, 그 과정이 미숙하고 개념들이 분명하게 서 있지 않다는 게 아직까지 내가 안고 있는 문제점이지만. 아직 구조적으로 이해해나가야 되는 점들이 많지만 적어도 어제 몰랐던 것을 오늘 알고 다시 정리할 수 있다는 것에 작은 의의를 삼으며 열공합시다 .. 

728x90
반응형