suk-6 / 2023-appdev

2023 Application Development (with JAVA)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

덕영고등학교 앱개발(Java - Android)

2023.5.8.

  • 엔진(engine), 엔지니어(engineer), 엔지니어링(engineering) 등의 영문을 표현하시며 우리는 엔지니어링을 해야한다고 설명하셨고, 약간의 언어유희 같아 보이기도 하지만, 내가 해야하는 것에 대해 이해할 수 있었던 시간이였습니다.

2023.5.15.

  • 두 가지의 개발 모델(Development model)

    1. Water-fall
    2. Agile processing
  • 두 가지의 앱 서비스 모델(Application service model)

    1. Server - Client
    2. Peer to Peer

위와 같은 이론을 배웠고, 우리는 한번에 개발해야 하는 Water-fall 모델 대신 설계를 반복하며 제품을 만들어나가는 Agile processing 모델을 사용하기로 결정하였고, Server - Client 구조를 사용하여 개발을 진행하기로 했습니다.

2023.5.22.

  • Front-end, Back-end 구조에 대한 이해
  • Java는 객체 지향 프로그래밍 언어

우리는 "Java"라는 객체 지향 프로그래밍 언어를 사용하여 Front-end의 Application을 개발할 것이라는 목표를 세웠습니다.

2023.5.29.

  • Idea -> Object -> Code

  • 아이디어를 객체로 만드는 법

    1. 모두의 작은 문제를 해결
    2. 소수의 큰문제를 해결

수학자들이 알고리즘을 작성하는 것은 더 잘하지만, 개발자들이 잘하는 것은 아이디어를 현실화하는 것이다. 라는 말을 듣고, 창의적인 사고를 키워야겠다는 생각을 하게 되었습니다.

2023.6.5.

  • 객체, 속성, 동작에 대한 설명

    1. 객체 - Class
    2. 속성 - Variable
    3. 동작 - Method
  • Use case

    1. 성공적이고 핵심 내용이 들어간 Use case 제작
    2. 성공 Case를 기반으로 중간, 실패 Case 제작

서비스를 개발할 때, Use case를 작성해본 적이 없었는데 이번 기회를 통해 작성하는 방법을 알게 되었고, 앞으로의 서비스 개발에 많은 도움이 될 거 같다고 생각합니다.

2023.6.12.

  • 구글의 인터넷 말 이야기

  • 해외 서비스들의 엣지 컴퓨팅

  • Java

    1. javac CLASSNAME.java - Java 컴파일
    2. java CLASSNAME - 컴파일 된 바이너리 실행

개인적으로 엣지 컴퓨팅에 많은 관심이 있었어서, 그 부분을 되게 재밌게 들었던 거 같고 인터넷 상식에 도움이 되었습니다.

2023.6.19.

  • Java 기초

    1. Java Class 구조
    2. Java main function 선언
    3. static 설명
    4. function에서 public & private 차이 설명
    5. Global variable 설명
  • 메모리 구조

    1. Java가 실행될 때의 메모리 동작
    2. Java 내부에서의 메모리 관리 등

오늘은 Java 기초에서 위와 같은 내용을 배우고, 직접 따라하는 시간을 가졌습니다. 기존에 Dart 언어를 사용해본 경험이 있어서 Java에도 쉽게 적응할 수 있을 거 같다고 생각합니다.

2023.7.10.

  • Java 생성자(Constructor)

    생성자(Constructor)는 객체를 초기화하는 특별한 메서드입니다. 생성자는 클래스와 같은 이름을 가지며, 객체가 생성될 때 자동으로 호출됩니다. 생성자는 주로 객체의 초기 상태를 설정하거나 필수적인 작업을 수행하는 데 사용됩니다.

    자바에서 생성자의 리턴 타입은 클래스와 동일합니다. 즉, 생성자의 이름이 "Menu"인 경우, 리턴 타입도 "Menu"여야 합니다. 생성자는 리턴 타입을 명시적으로 지정하지 않고, 리턴하지 않습니다. 그 이유는 생성자가 객체를 생성하는 역할을 담당하기 때문입니다.

    아래는 Menu 클래스의 생성자를 만드는 예시입니다.

    public class Menu {
    // 멤버 변수, 메서드 등
    
    // 생성자
    public Menu() {
        // 생성자의 내용을 작성
        // 객체의 초기 상태 설정 또는 필요한 작업 수행
        }
    }

2023.7.24.

  • Java 생성자(Constructor)

    1. 생성자에서의 Return 타입.
    2. new 연산자를 사용하여 객체의 초기화를 담당.
  • this는 현재 클래스의 인스턴스를 의미

  • super는 부모 클래스를 의미

2023.8.7.

  • @Override 속성

    • @Override는 자바에서 메서드를 오버라이드(재정의)할 때 사용되는 어노테이션(annotation)입니다.
    • 부모 클래스에서 상속받은 메서드를 자식 클래스에서 재정의할 때 이 어노테이션을 사용하여 컴파일러에게 해당 메서드가 오버라이드되었음을 알려줍니다. 이는 코드의 가독성을 높이고 프로그래머가 의도하지 않은 오버라이드를 방지하는 데 도움을 줍니다.
    • 오버라이드하려는 메서드가 부모 클래스에 정의되어 있지 않으면, @Override를 사용하면 컴파일러가 오류를 발생시킵니다.

2023.8.21.

  • Java Scanner

    • 사용자의 인풋을 받는 클래스입니다.
    • Scanner를 정의하고 .nextLine() 함수를 통해 입력 값을 문자열로 가져옵니다.
  • try-catch문

    • 대다수의 프로그래밍 언어에 존재하는 예외처리 문법입니다.
    • try문 실행에 실패하면, 프로그램이 종료되지 않고 정해진 예외 처리에 따라 catch문을 실행합니다.

2023.10.23

  • Activity
    • 사용자 인터페이스 화면을 담당하는 컴포넌트입니다.
    • 앱에서 한 화면을 담당하며, 여러 개의 Activity를 조합하여 애플리케이션을 구성합니다.
    • MVC 패턴에서 View와 Controller 역할을 담당합니다.

About

2023 Application Development (with JAVA)


Languages

Language:Java 100.0%