Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 이진 탐색(binary search)
- 자료구조
- 코딩공부
- 코딩
- CS
- 정렬 알고리즘(sort algorithm)
- 99클럽
- 메서드
- 자바
- 항해99
- Java
- aop
- cs 공부)준비
- 프로그래머스
- Til
- Entity
- 코딩문제
- 배열
- github
- Grafana
- 개발자 취업
- 면접(java
- ArrayList
- wil
- GIT
- 코딩테스트 준비
- HTML
- Spring
- css
- 회고
Archives
- Today
- Total
hayu's 개발 일지
[TIL]240711 자바 코드 구조 이해 본문
공부한 내용
자바 코드 구조 이해
[sample 코드]
/* 패키지 선언 */
package com.oracle.util;
/* 패키지 가져오기 */
import java.lang.*; // 해당 패키지 내 모든 클래스를 불러옴
/* 클래스 블록 */
public class Sample {
/* 메인 메소드 블록 */
// [public|private|protected] [static] (리턴자료형|void) 메소드명1(입력자료형 매개변수, ...)
public static void main(String[] args) {
/* 명령문(statement) */
int result = add(1, 2);
System.out.println(result);
}
/* 메소드 블록 */
public static int add(int a, int b) {
return a + b;
}
}
패키지 선언
- package 키워드란, 자바 클래스 파일들을 모아 기능별로 분류하기 위한 일종의 디렉토리이다. (파일 시스템 폴더)
- 클래스를 컴파일하면 첫 줄에 자동 생성되며, 클래스를 식별하는 관리자 역할을 한다. 이외에도 클래스명이 충돌하지 않도록 카테고리화 한 것이다.
- 패키지 이름으로는 모두 소문자로 작성해야 한다.
- 패키지의 점(.)은 [상위패키지].[하위패키지].[클래스] 을 의미한다.
- 예) 패키지명 com.oracle.util 은 폴더 파일 경로 com\oracle\util 와 같다.
패키지 가져오기
- 다른 패키지의 자바 표준 API나 클래스 파일을 가져올 때 사용한다. (소스 코드 간략화가 목적임.)
- 패키지 이름에는 패키지의 경로까지 포함한 풀 네임을 명시한다.
- import 문을 선언할 때 별표(*)를 사용하면 해당 패키지에 포함된 모든 클래스를 사용 가능하다.
- 코드에서 첫줄에는 package 를 사용하고, 다음 줄에는 import 를 사용할 수 있다.
import 주의점
- import 문을 선언할 때 별표(*)를 사용하면 해당 패키지에 포함된 모든 클래스를 가져오지만, 모든 하위 패키지의 클래스까지 포함시켜주지 않는다.
- 따라서 하위 클래스까지 가지고 오고 싶다면 직접 하위 도메인 경로를 지정해 표현 해야 한다.
import java.*;
// 하위 패키지 전체 불러오기
import java.awt.*;
import java.util.*;
클래스
- 클래스란 JAVA에서 객체를 생성하기 위한 설계도(template)같은 개념이다.(ex) 붕어빵을 만들 때 붕어빵틀을 생각해보자)
- 클래스명은 반드시 소스 파일명과 일치해야 한다. (파일명 : Test.java 일 때 public class Test {} 로 일치해야 한다.)
- public 접근제어자가 지정된 클래스는 반드시 클래스 파일 내, 하나의 클래스만 존재할 수 있다.
- public은 다른 패키지에서도 사용할 수 있다는 뜻이다.
클래스 구성은 필드, 생성자, 메서드, 내부 클래스가 있다.
- 필드(field) : 객체의 데이터를 저장
- 생성자(constructor) : 생성된 객체를 초기화
- 메서드(method) : 객체의 동작을 실행
- 내부 클래스(lnner class) : 클래스나 인터페이스의 내부에 선언
메인 메서드
- main 메서드는 프로그램을 구동하는 메인 스레드이다.
- 자바 프로그램을 실행하면 자바 가상 머신은 클래스 내에 포함되어 있는 public static void main(String[] args) 라는 시그니처를 갖는 메인 함수를 실행한다.
/* 메인 메소드 블록 */
// [public|private|protected] [static] (리턴자료형|void) 메소드명1(입력자료형 매개변수, ...)
public static void main(String[] args) {
// ...
}
[ 설명 ]
- public : 모든 클래스에서도 해당 변수나 메서드가 접근이 가능하다는 의미로 프로그램의 시작은 main이기 때문에 다른 곳에서도 호출할 수 있도록 public을 사용한다. → 접근제어자이다.
- static : 자바가 compile이 되는 순간 가장 빠르게 정의되어 별도의 객체 생성 없이 모든 객체와 공유가 가능하다.
- void : 별도로 return 값 없이 메소드를 실행하고 끝난다는 의미이다.(반환값없음.)
- main : 이 메서드가 main 메서드라는 의미이다.
- string[] args : 연속적인 문자열 데이터가 들어가는 저장 공간. 터미널에서 자바프로그램을 실행할때 인수를 줄수있는데 이 값이 이곳으로 들어오게 된다.
회고
- 자바 코드에 대해 몰랐었는데 이렇게 하나씩 공부하다보니 내가 많이 성장했구나를 느꼈다.
참고 자료
- https://blog.hexabrain.net/120
'기술 > java' 카테고리의 다른 글
[TIL]240712 추상 클래스(Abstract) (0) | 2024.07.12 |
---|---|
[TIL]240710 상속 (0) | 2024.07.10 |
[TIL]240706 final (0) | 2024.07.06 |
[TIL]240705 static (0) | 2024.07.05 |
[TIL]240704 자바 메모리 구조 (0) | 2024.07.04 |