본문 바로가기

java24

[Java Study 7주차] 패키지 본 포스팅은 백기선님이 진행하시는 자바 스터디를 진행하며 혼자 공부하고 이해한 내용을 바탕으로 정리한 글입니다. 오류나 지적 사항이 있다면 댓글로 알려주시면 감사하겠습니다. 목표: 자바의 패키지에 대해 학습하세요. package keyword package란? 패키지는 클래스의 묶음이다. 패키지에는 클래스와 인터페이스가 포함될 수 있으며, 서로 관련된 패키지들끼리 그룹 단위로 묶어 놓음으로써 클래스를 효율적으로 관리할 수 있다. 패키지의 물리적인 형태는 파일 시스템의 디렉토리이다. 같은 이름을 가진 클래스라도 속한 패키지가 다르면 구분될 수 있으므로 이름의 충돌을 피할 수 있다. 디렉토리가 하위 디렉토리를 가질 수 있는 것처럼 패키지도 하위 패키지를 가질 수 있으며 도트' . '로 구분한다. 패키지 이름.. 2021. 1. 8.
[Java Study 6주차] 상속 본 포스팅은 백기선님이 진행하시는 자바 스터디를 진행하며 혼자 공부하고 이해한 내용을 바탕으로 정리한 글입니다. 오류나 지적 사항이 있다면 댓글로 알려주시면 감사하겠습니다. 목표: 자바의 상속에 대해 학습하세요. 자바 상속의 특징 상속이란? 상속은 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 자바에서 상속을 구현하려면 class 선언부에 extends 키워드를 사용하면 된다. class 자식클래스 extends 부모클래스 {} 이 두 클래스는 서로 상속 관계에 있다고 표현하며, 상속해주는 클래스를 '조상 클래스', 상속 받는 클래스를 '자손 클래스'라고 한다. 이외에도 다양한 이름으로 불린다. 조상 클래스 = 부모(parent) 클래스 = 상위(super) 클래스 = 기반(base) 클래.. 2021. 1. 8.
[Java Study 5주차] 클래스 본 포스팅은 백기선님이 진행하시는 자바 스터디를 진행하며 혼자 공부하고 이해한 내용을 바탕으로 정리한 글입니다. 오류나 지적 사항이 있다면 댓글로 알려주시면 감사하겠습니다. 목표: 자바 클래스에 대해 학습하세요. 클래스를 정의하는 법 객체지향의 관점에서 클래스는 객체를 생성하는 설계도이다. 프로그래밍 관점에서 클래스는 연관된 데이터와 함수의 집합이다. 자바 파일(.java) 안에 클래스를 정의할 때는 다음과 같은 규칙을 따라야한다. public class가 존재하는 경우 소스파일 명과 퍼블릭 클래스의 이름은 일치해야 한다. 소스파일 하나에는 여러 클래스가 정의될 수 있지만 public class는 하나여야 한다. public class가 존재하지 않는 경우 소스파일 명은 내부에 정의된 클래스들의 이름 중.. 2021. 1. 7.
[Java] 클래스 멤버는 왜 인스턴스 멤버를 참조할 수 없을까? 클래스 멤버와 인스턴스 멤버 간 참조 관계 클래스 멤버(스태틱 변수, 스태틱 메서드)는 인스턴스 멤버를 사용할 수 없습니다. 아래 예시를 보시죠 static 예약어가 사용된 클래스 멤버에서 인스턴스 메서드를 호출하거나 인스턴스 변수를 사용하려고하면 빨간줄이 그어지면서 컴파일 에러가 발생합니다. 반면 인스턴스 메서드에서 클래스 변수를 사용하거나 클래스 메서드를 호출하는데는 아무런 문제가 없죠. 왜 이런 일이 발생할까요? 이는 클래스 멤버와 인스턴스 멤버가 생성되는 시기와 관련이 있습니다. JVM 메모리 구조 우선 JVM의 메모리 구조를 살펴봅시다. JVM의 Runtime Data Area는 서로 다른 용도를 가진 영역으로 구분되어 있습니다. 그 중 메서드 영역, 호출 스택, 힙에 대해 살펴보겠습니다. 메서.. 2020. 12. 30.
[Java Study 2주차] 자바 데이터 타입, 변수 그리고 배열 본 포스팅은 백기선님이 진행하시는 자바 스터디를 진행하며 혼자 공부하고 이해한 내용을 바탕으로 정리한 글입니다. 오류나 지적 사항이 있다면 댓글로 알려주시면 감사하겠습니다. 목표: 자바의 프리미티브 타입, 변수 그리고 배열을 사용하는 방법을 익힙니다. 데이터 타입이란? 이전 포스팅에서 데이터 타입이 무엇이고 어떤 기능을 하는지에 대해 알아본 적이 있다. 간단하게 말하자면 데이터 타입이란 메모리의 크기와 형태를 지정하기 위한 도구이다. 이번에는 자바의 프리미티브 타입과 변수에 대해 알아보자. 원시 자료형(Primitive Data Type) 원시 자료형은 컴파일러 차원에서 미리 메모리의 크기와 형태를 지정해둔 것이다. 자바에는 8가지의 원시 자료형이 있다. 원시 자료형의 이름과 크기는 외워두는 것이 좋다... 2020. 12. 29.
[자료구조] 단일연결리스트 reverse 메서드 구현 (java) 단일연결리스트의 reverse 메서드를 구현해봅시다. 단일연결리스트의 객체는 head 정보, 그리고 노드는 다음 노드 정보만 가지고 있는 가장 단순한 형태의 단일연결리스트입니다. 코드로 표현하면 다음과 같습니다. public class SinglyLinkedList { Node head; static class Node { int data; Node next; } } 코드를 복잡하게 만들지 않기 위해서 toString()이나 add() 메서드는 이미 구현되어 있다고 가정하겠습니다. public class UnitTest { public static void main(String[] args) { SinglyLinkedList list = new SinglyLinkedList(); list.addLast(.. 2020. 11. 13.