Skip to main content

Command Palette

Search for a command to run...

13.Java 기초 정리

Published
2 min readView as Markdown
T

안녕하세요! Web개발을 공부하고 있는 윤종일 입니다. 현재는 Java 백엔드 개발을 깊게 파고들고 있어요! 제 궁극적인 목표는 풀스택 개발자가 되는 것입니다. 프론트엔드와 백엔드 모두를 자유롭게 넘나들며, 사용자에게 가치를 전달할 수 있는 완성도 높은 애플리케이션을 만드는 것이 목표입니다.

  1. 접근 제어자

  2. 수정자

  3. 인터페이스

  4. 상속

  5. 다형성

  6. 추상 클래스

  7. 예외 처리

  8. 제네릭

  9. 가비지 컬렉션

  10. 패키지

    접근 제어자

  • public(공개) - public으로 선언된 클래스,메소드,변수는 어떤 클래스에서든지 접근할 수 있습니다.

  • private(비공개) - private로 선언된 클래스의 멤버(변수,메소드)는 해당 클래스 내부에서만 접근할수 있습니다.다른 클래스에서는 접근할 수 없어 클래스의 내부 구현을 숨길 수 있습니다.

  • default - 별도의 접근 제어자를 지정하지 않으면 기본적으로 default 접근 수준이 적용됩니다.

  • protected(보호된) - 같은 패키지 내의 클래스와 상속받은 자식 클래스에서 접근이 가능합니다.상속받은 클래스가 부모 클래스의 멤버에 접근할 수 있도록 하면서, 외부에서의 접근을 제한합니다.

    수정자

  • static - 클래스 레벨의 멤버를 정의합니다.인스턴스 생성 없이 접근이 가능합니다.

  • final - 한 번 할당된 후 변경할 수 없는 상수를 정의하거나,오버라이드 상속을 방지합니다.

  • abstract - 구현되지 않은 메소드를 포함하는 클래스나 메소드를 정의합니다.

  • synchronized - 멀티스레딩 환경에서 하나의 스레드만이 메소드나 블록에 접근할 수 있도록 합니다.

  • volatile - 변수가 메인 메모리에서 직접 읽히고 쓰여질 것임을 나타냅니다.

    인터페이스

  • 메소드의 시그니처(이름,파라미터 타입,반환 타입)만을 정의하는 형태입니다.

  • 클래스가 인터페이스를 구현하면 인터페이스에 정의된 모든 메소드를 구현해야 합니다.

  • 다중 상속의 이점을 제공하며, 다형성을 촉진합니다.

    상속

  • 한 클래스가 다른 클래스의 속성과 메소드를 상속받는 것을 의미합니다.

  • 코드 재사용성을 높이고 유지보수를 용이하게 합니다.

    다형성

  • 객체가 여러 가지 형태를 가질 수 있는 성질을 의미합니다.

  • 오버로딩(동일한 이름의 메소드를 다른 파라미터로의 정의)과 오버라이딩(상속받은 메소드의 기능을 재정의)을 통해 구현됩니다.

    추상 클래스

  • 하나 이상의 추상 메소드를 포함하거나 추상적인 개념을 나타내는 클래스입니다.

  • 추상 클래스는 인스턴스화할 수 없으며, 상속을 통해 자식 클래스에서 구체화됩니다.

    예외 처리

  • 실행 중에 발생할 수 있는 예외적인 상황을 처리하는 메커니즘 입니다.

  • try,catch,finally,throw,throws 키워드를 사용합니다.

    제네릭

  • 클래스,인터페이스,메소드를 정의할 때 타입을 파라미터로 사용할 수 있게 하는 기능입니다.

  • 타입 안정성을 높이고, 캐스팅을 줄여 코드를 보다 안전하고 읽기 쉽게 만듭니다.

    가비지 컬렉션

  • 사용되지 않는 메모리를 자동으로 정리하는 프로세스

  • 메모리 누수를 방지하고 프로그램의 효율성을 향상시킵니다.

    패키지

  • 관련된 클래스와 인터페이스를 그룹화하는 방법입니다.

  • 네임스페이스 관리와 접근 제어를 통해 코드의 모듈성을 높입니다.

1 views

More from this blog

서브넷 이해하기

서브넷 IPv4 IPv4로 보자면 데이터 전송 방식은 유니캐스트 멀티캐스트 브로드 캐스트다. 32bit 숫자로 구성되어 있다. 일반적으로 4개의 10진수로 표현된다. 데이터 전송 방식 데이터 전송 방식설명 유니캐스트한 대의 컴퓨터가 다른 한 대의 컴퓨터에게 데이터를 보내는 방식 멀티캐스트한 대의 컴ㅂ퓨터가 특정 그룹에 속한 여러 컴퓨터에게 ㄷ이터를 보내는 방식 브로드캐스트한 대의 컴퓨터가 같은 네트워크에 있는 모든 컴퓨터...

Aug 5, 20242 min read3
서브넷 이해하기

네트워크 계층

네트워크 계층 네트워크는 원하는 정보를 원하는 수신자 또는 기기에 정확하게 전송하기 위한 기반 인프라이다. OSI 7계층 (지겹지만 반복) OSI 7계층은 국제 표준화 기구인 ISO(International Standardization Organization)에서 개발한 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 개방형 시스템 상호 연결 모델이다. 각 계층은 서로 독립적으로 구성되어 있고, 각 계층은 하위 계층의 기...

Jul 29, 20243 min read3
네트워크 계층

메모리 단편화

메모리 단편화 메모리 단편화란 분할된 주기억장치에 프로세스를 할당, 반납 과정에서 사용되지 못하고 낭비되는 기억장치가 발생하는 현상이다. 유형으로는 내부 단편화와 외부 단편화가 있다. 내부 단편화 내부 단편화 개념 내부 단편화는 분할된 공간에 프로세스를 적재한 후 남은 공간이다. 내부 단편화는 고정 분할 할당 방식 또는 페이징 기법 사용 시 발생하는 메모리 단편화다. 해결 방안설명 슬랩 할당자 (Slab Allocator)페...

Jul 20, 20241 min read

2024.07.13 애플리케이션 테스트 수행

애플리케이션 테스트 수행 IDE 도구 개념 IDE(Integrated Development Environment) 도구는 코딩, 디버그, 컴파일, 배포 등 프로그램 개발과 관련된 모든 작업을 하나의 프로그램 안에서 처리하는 환경을 제공하는 소프트웨어이다. 기존에는 컴파일러, 텍스트 편집기, 디버거를 따로 사용했으나 통합 개발환경을 통해 하나로 묶은 대화형 인터페이스를 제공한다. IDE 도구의 기능 IDE 도구는 다양한 기능을 통합한 형태...

Jul 12, 20242 min read2
2024.07.13 애플리케이션 테스트 수행
J

Java 백엔드 및 풀스택 개발

111 posts

안녕하세요! Web개발을 공부하고 있는 윤종일 입니다. 현재는 Java 백엔드 개발을 깊게 파고들고 있어요! 제 궁극적인 목표는 풀스택 개발자가 되는 것입니다. 프론트엔드와 백엔드 모두를 자유롭게 넘나들며, 사용자에게 가치를 전달할 수 있는 완성도 높은 애플리케이션을 만드는 것이 목표입니다.

E-Mail : ji4971@naver.com