Java - Package
JAVA(자바), Python(파이썬) 기반의
AI 활용 응용 소프트웨어 개발자 양성 과정
찾으시는 정보가 있으시다면
주제별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 되어있음