접근지시자 2

Java의 패키지에 대해 알아보자! (feat. 클래스패스, import)

패키지란? 패키지란 '서로 관련된 클래스(인터페이스 등 포함)들의 그룹'으로 클래스를 효율적으로 관리할 수 있다. 이때 클래스의 실제 이름은 클래스 자체의 이름뿐만 아니라 패키지명을 모두 포함한 이름으로, 이를 FQCN(Fully Qualified Class Name)이라고 한다. 따라서 클래스 이름이 같더라도 패키지만 다르면 다른 클래스인 것이다. 패키지에 포함된 클래스에 대한 소스코드를 작성할 때는 항상 패키지를 첫 번째 문장(주석, 공백 제외)에 선언해주어야한다. 이때 패키지 안에 또 다른 패키지가 존재할 수도 있는데, 이는 .을 이용하여 구분한다. package ikjo.java; class Example { // 최상위 패키지 ikjo에 속한 java 패키지 그리고 java 패키지에 속한 Exa..

Technology/Java 2022.09.01

캡슐화(정보 은닉)를 위한 Java의 접근 제어자 이해하기

캡슐화란? 객체 지향에는 대표적인 4대 특성이 있는데 바로 추상화, 상속, 다형성, 캡슐화이다. 이 중 캡슐화는 정보 은닉이라고도 하는데, 서로 관련 있는 속성과 메서드를 클래스에 하나로 묶고 사용자가 필요로 하는 인터페이스만 제공하고, 나머지 내부적으로 구현된 내용은 외부로부터 감추는 것을 의미한다. 이덕에 사용자 입장에서는 별도로 복잡한 코드를 실행하지 않고(사용자의 실수 방지) 특정 인터페이스만 호출함으로써 원하는 결과를 얻을 수 있게 하며, 객체 입장에서는 클래스 내부에 선언된 데이터를 보호(수정 방지)할 수 있게 된다. 아울러 외부에 공개되지 않은 멤버의 경우 해당 클래스 외부로의 파급 효과가 없으므로 수정이 용이하다는 장점도 있다. 이때 자바에서 구현 내용을 내부에 감추는 방법으로 접근 제어자..

Technology/Java 2022.02.05