- 엔진(engine), 엔지니어(engineer), 엔지니어링(engineering) 등의 영문을 표현하시며 우리는 엔지니어링을 해야한다고 설명하셨고, 약간의 언어유희 같아 보이기도 하지만, 내가 해야하는 것에 대해 이해할 수 있었던 시간이였습니다.
-
두 가지의 개발 모델(Development model)
- Water-fall
- Agile processing
-
두 가지의 앱 서비스 모델(Application service model)
- Server - Client
- Peer to Peer
위와 같은 이론을 배웠고, 우리는 한번에 개발해야 하는 Water-fall 모델 대신 설계를 반복하며 제품을 만들어나가는 Agile processing 모델을 사용하기로 결정하였고, Server - Client 구조를 사용하여 개발을 진행하기로 했습니다.
- Front-end, Back-end 구조에 대한 이해
- Java는 객체 지향 프로그래밍 언어
우리는 "Java"라는 객체 지향 프로그래밍 언어를 사용하여 Front-end의 Application을 개발할 것이라는 목표를 세웠습니다.
-
Idea -> Object -> Code
-
아이디어를 객체로 만드는 법
- 모두의 작은 문제를 해결
- 소수의 큰문제를 해결
수학자들이 알고리즘을 작성하는 것은 더 잘하지만, 개발자들이 잘하는 것은 아이디어를 현실화하는 것이다. 라는 말을 듣고, 창의적인 사고를 키워야겠다는 생각을 하게 되었습니다.
-
객체, 속성, 동작에 대한 설명
- 객체 - Class
- 속성 - Variable
- 동작 - Method
-
Use case
- 성공적이고 핵심 내용이 들어간 Use case 제작
- 성공 Case를 기반으로 중간, 실패 Case 제작
서비스를 개발할 때, Use case를 작성해본 적이 없었는데 이번 기회를 통해 작성하는 방법을 알게 되었고, 앞으로의 서비스 개발에 많은 도움이 될 거 같다고 생각합니다.
-
구글의 인터넷 말 이야기
-
해외 서비스들의 엣지 컴퓨팅
-
Java
javac CLASSNAME.java
- Java 컴파일java CLASSNAME
- 컴파일 된 바이너리 실행
개인적으로 엣지 컴퓨팅에 많은 관심이 있었어서, 그 부분을 되게 재밌게 들었던 거 같고 인터넷 상식에 도움이 되었습니다.
-
Java 기초
- Java Class 구조
- Java main function 선언
- static 설명
- function에서 public & private 차이 설명
- Global variable 설명
-
메모리 구조
- Java가 실행될 때의 메모리 동작
- Java 내부에서의 메모리 관리 등
오늘은 Java 기초에서 위와 같은 내용을 배우고, 직접 따라하는 시간을 가졌습니다. 기존에 Dart 언어를 사용해본 경험이 있어서 Java에도 쉽게 적응할 수 있을 거 같다고 생각합니다.
-
Java 생성자(Constructor)
생성자(Constructor)는 객체를 초기화하는 특별한 메서드입니다. 생성자는 클래스와 같은 이름을 가지며, 객체가 생성될 때 자동으로 호출됩니다. 생성자는 주로 객체의 초기 상태를 설정하거나 필수적인 작업을 수행하는 데 사용됩니다.
자바에서 생성자의 리턴 타입은 클래스와 동일합니다. 즉, 생성자의 이름이 "Menu"인 경우, 리턴 타입도 "Menu"여야 합니다. 생성자는 리턴 타입을 명시적으로 지정하지 않고, 리턴하지 않습니다. 그 이유는 생성자가 객체를 생성하는 역할을 담당하기 때문입니다.
아래는 Menu 클래스의 생성자를 만드는 예시입니다.
public class Menu { // 멤버 변수, 메서드 등 // 생성자 public Menu() { // 생성자의 내용을 작성 // 객체의 초기 상태 설정 또는 필요한 작업 수행 } }
-
Java 생성자(Constructor)
- 생성자에서의 Return 타입.
new
연산자를 사용하여 객체의 초기화를 담당.
-
this
는 현재 클래스의 인스턴스를 의미 -
super
는 부모 클래스를 의미
-
@Override 속성
- @Override는 자바에서 메서드를 오버라이드(재정의)할 때 사용되는 어노테이션(annotation)입니다.
- 부모 클래스에서 상속받은 메서드를 자식 클래스에서 재정의할 때 이 어노테이션을 사용하여 컴파일러에게 해당 메서드가 오버라이드되었음을 알려줍니다. 이는 코드의 가독성을 높이고 프로그래머가 의도하지 않은 오버라이드를 방지하는 데 도움을 줍니다.
- 오버라이드하려는 메서드가 부모 클래스에 정의되어 있지 않으면, @Override를 사용하면 컴파일러가 오류를 발생시킵니다.
-
Java Scanner
- 사용자의 인풋을 받는 클래스입니다.
- Scanner를 정의하고 .nextLine() 함수를 통해 입력 값을 문자열로 가져옵니다.
-
try-catch문
- 대다수의 프로그래밍 언어에 존재하는 예외처리 문법입니다.
- try문 실행에 실패하면, 프로그램이 종료되지 않고 정해진 예외 처리에 따라 catch문을 실행합니다.
- Activity
- 사용자 인터페이스 화면을 담당하는 컴포넌트입니다.
- 앱에서 한 화면을 담당하며, 여러 개의 Activity를 조합하여 애플리케이션을 구성합니다.
- MVC 패턴에서 View와 Controller 역할을 담당합니다.