/ LECTURE

Java - Package

이 페이지는 다음에 대한 공부 기록입니다

JAVA(자바), Python(파이썬) 기반의

AI 활용 응용 소프트웨어 개발자 양성 과정

2021.11.10. ~ 2022.05.18.

찾으시는 정보가 있으시다면
주제별reference를 이용하시거나
우측 상단에 있는 검색기능을 이용해주세요

16일차 수업

========복습========

변수 < 제어문 < 메소드 < 클래스

클래스

필드(변수), 메소드를 통해 하나의 정의서를 작성하면 다른 클래스에서 호출하여 변수와 메소드를 사용할 수 있음

호출하는 과정 : 인스턴스(new)

  • 클래스명 인스턴스명 = new 클래스명();

new를 각 메소드 마다 사용을 하면 데이터가 꼬일 위험성이 있음

이를 해결하기 위해 필드와 파라미터를 이용

인스턴스 내 필드, 메소드를 사용하기 위해서는

  • 인스턴스명.변수명

  • 인스턴스명.메소드명()

메소드

필요한 데이터를 전달 : 파라미터와 인자

메소드 정의하는 법

  • 반환 자료형 메소드(파라미터) {…}

void : 기본형(반환하는 데이터의 자료형이 없을 때)

반환 데이터가 있을 경우

  • 데이터의 자료형을 입력(int String boolean double 등)

  • 메소드 내에서 return 과 반환값을 입력

  • 파라미터와 인자는 개수 제한이 없으나, 반환값은 1개

클래스도 반환자료형이 가능

파라미터

현재 메소드를 호출한 메소드로부터 데이터를 받아야할 때 정의하는 값

메소드를 정의할 때 파라미터를 작성했다면 메소드를 호출할 때도 파라미터에 맞는 데이터를 무조건 작성해야함

  • 인자와 파라미터는 순서, 개수, 자료형이 일치해야함

인스턴스

클래스를 이용하여 인스턴스화(객체화)

클래스에 정의된 내용을 가진 모양으로 메모리 상에 등록

총 복습

프로그래밍을 할 때, 처음엔 모든 것을 main method에서 처리 했음

  • 가독성도 떨어지고, 하나의 변수값을 변경하면 그에 해당 하는 모든 값이 변경되는 불편함 존재

서로 다른 변수끼리 영향 없이 유지되거나, 코드 재사용의 필요성

  • 클래스를 이용해서 각각의 인스턴스를 생성함

  • 필요한 경우에 따라서 해당 인스턴스만 수정, 변경 등이 가능

  • 수정, 변경을 하더라도 다른 인스턴스에 영향이 없게 프로그래밍

각각의 프로그램을 부품화(객체지향 프로그래밍)

  • 이전에는 문제가 나면 모든 소스코드가 오류

  • 인스턴스 이후 오류난 클래스 혹은 메소드만 수정!

but, 공통으로 사용하고 싶은 사례들이 생김

static

  • 정적변수, 모든 클래스가 공통으로 사용하는 고정값

  • 인스턴스와 별개로 클래스에서 바로 사용가능 하도록 만드는 키워드

  • 필드와 메소드에 사용 가능

  • static을 사용시 인스턴스를 생성하지 않아도 됨

======== 끝 ========

16일차 수업

Package

자바에서 말하는 폴더 개념, 클래스와 인터페이스의 집합

협업하면서 같은 클래스 이름이 충돌할 때, 패키지라는 계층구조로 문제를 해결할 수 있음

패키지 안에는 패키지를 포함할 수 있고, dot(.)으로 구분한다

패키지는 모든 자바파일의 첫 줄에 작성

패키지의 경로가 전체 작성이 되어야함

day1206.test;

import

다른 패키지에 있는 클래스를 현재 클래스에서 사용하기 위한 기능

import java.util.Scanner;

Java.lang

자바에서는 우리가 자주 사용하는 것들을 좀 더 편하게 사용할 수 있도록 지원

이 패키지 안에 있는 내용은 자료형, 자주사용하는 값들을 미리 다 생성

import java.lang.*; //생략된 채로 import 되어있음