자바16 [JAVA] 접근 제한자 자바에서 접근 제한을 두는 이유캡슐화 개념을 구현하기 위해서캡슐화 : 객체 지향 프로그래밍의 중요한 원칙 중 하나로 객체의 내부 상태를 숨기고 외부에서는 제공된 메서드를 통해서만 접근할 수 있도록 제한하는 것. 코드를 더 안전하게 만들고 유지보수를 쉽게 할 수 있다. 클래스 접근 제한자1. public 접근 제한자어느 패키지에서나 접근이 가능프로젝트 내의 모든 코드에서 해당 클래스를 사용할 수 있다. 2. default 접근 제한자접근 제한자를 명시하지 않으면 default 접근 제한자를 갖는다.같은 패키지 내에서만 접근이 가능하다. public 이 자주 사용되어 해당 클래스가 다른 패키지에서도 사용될 수 있도록 한다.하지만 내부적인 처리를 위한 클래스는 default로 설정하여 외부에서의 접근을.. 2024. 10. 3. [JAVA] 메소드 오버라이딩 메소드 오버라이딩 ( Method Overridings ): 부모 클래스에서 정의된 메소드를 자식 클래스에서 재정의하여 사용하는 것오버라이딩은 다형성을 구현하는 중요한 방법 중 하나자식 클래스에서 부모 클래스의 메소드를 그대로 사용하는 대신 해당 메소드의 기능을 자식 클래스에 맞게 재정의하는 경우에 사용 오버라이딩과 오버로딩의 차이점오버로딩 : 같은 클래스 내에서 메소드 이름은 같지만 매개변수의 개수나 타입이 다른 여러 메소드를 정의하는 것오버라이딩 : 상속받은 메소드를 자식 클래스에서 재정의 하는 것 자바에서 오버라이딩이 존재하는 이유1. 다형성 구현다형성 : 같은 인터페이스나 상위 클래스의 메소드가 여러 형태로 동작할 수 있도록 하는 객체 지향 프로그래밍의 중요한 개념오버라이딩을 .. 2024. 10. 1. [JAVA] 클래스 상속 자바에서 클래스 상속이란?: 새로운 클래스를 정의할 때 기존에 정의된 클래스가 갖는 속성과 메소드를 모두 물려받고 자신의 속성과 메소드를 추가로 갖는 것상속은 객체지향 프로그래밍의 가장 큰 특징이다.상속을 사용하면 재사용성과 확장성을 높일 수 있다.재사용성 : 이미 정의된 클래스의 코드를 다시 작성할 필요 없이 자식 클래스에서 사용할 수 있게 해준다. 코드의 중복을 줄이고, 기존 코드를 재활용할 수 있다.확장성 : 기존 클래스를 확장하여 새로운 기능을 추가하거나, 기존기능을 변경하는 것이 매우 쉽다. 클래스의 계층 구조슈퍼클래스 : 상위의 현존하는 클래스파생클래스 or 서브 클래스 : 속성과 메소드를 물려받아 새로 정의한 하위의 클래스 자바언어에서 최상위에 Object 클래스를 갖으며 이 클래스가 .. 2024. 9. 30. [JAVA] 패키지 패키지란?: 자바언어에서 제공되는 여러 클래스 또는 인터페이스들의 특성을 고려하여 분류해 놓은 것 패키지 사용 시 장점클래스의 이름이나 메소드 이름이 같으면 충돌이 발생하는데 패키지 단위로 구분해놓으면 충돌을 방지할 수 있다.패키지 단위로 클래스, 메소드, 변수 등의 접근을 제한할 수 있다.동일한 특성과 성격을 기준으로 클래스들을 분류하면 클래스의 사용과 관리가 용이하다. 패키지 사용방법패키지 선언package OOP.com.info.dept;-> 클래스나 인터페이스의 첫 번째 줄에 package 키워드를 사용해 해당 파일이 어떤 패키지에 속하는지 선언한다. 패키지 임포트import java.util.ArrayList;import java.util.*; // 패키지 내의 모든 클래스 import.. 2024. 9. 29. [JAVA] String 클래스 자바에서 String 클래스란?: 자바에서 문자열을 다루기 위해 제공되는 대표적인 클래스문자열은 char의 배열로 구성된 데이터 타입이며 자바에서는 String 클래스가 이러한 문자열을 처리하고 관리하는 역할을 한다. String 클래스 주요 특징1. 불변성String 객체는 한 번 생성되면 그 값을 변경할 수 없다. 문자열을 수정하는 경우 새로운 String 객체가 생성되고 원래의 문자열은 변경되지 않는다. -> 멀티스레드 환경에서 안전하게 사용할 수 있다. (상태 변화가 없기 때문에 동기화 불필요, 공유 객체를 안전하게 재사용, 데이터 일관성 보장) 2. 리터럴로 선언 가능String str = "Hello"; 처럼 문자열 리터럴을 이용해 선언할 수 있다. 자바는 동일한 리터럴 값을 가진 문자열을.. 2024. 9. 29. [JAVA 기초] 클래스 정의 및 객체 생성 클래스(Class)의 정의클래스는 객체지향 프로그래밍에서 객체를 생성하기 위한 설계도 또는 틀로, 객체가 공통적으로 소유한 속성과 행위를 추상화하여 코드로 나타낸 것이다. 이를 바탕으로 여러 객체를 만들 수 있다. 인스턴스(Instance)란?클래스에서 생성된 실체 객체를 의미한다. 클래스가 객체를 만들기 위한 설계도라면 인스턴스는 그 설계도로부터 만들어진 구체적인 실체이다. - 클래스 : 객체를 정의하는 설계도. 클래스를 사용하여 같은 구조를 가진 여러 객체를 만들 수 있다.- 인스턴스 : 클래스에서 실제로 생성된 객체. 클래스에서 정의된 속성과 메서드를 가지며 독립적인 값을 갖는다. 클래스의 구성- 클래스 헤더 : 클래스의 정의가 시작되는 부분. 클래스의 이름, 접근 제어자, 상속 여부 등을.. 2024. 9. 25. [JAVA기초] 객체와 클래스의 개념 객체지향 프로그래밍(OOP) 이란?소프트웨어 개발 패러다임 중 하나로 프로그램을 여러 개의 객체들로 나누어 설계하고 개발하는 방법론이다.객체란 데이터와 이를 처리하는 함수를 하나로 묶은 개념으로, 현실 세계의 사물이나 개념을 컴퓨터 프로그램에서 표현하는 데 사용된다. 속성 (Attributes): 객체가 가지는 데이터 또는 상태ex) 자동차 객체라면 속성은 색상, 브랜드, 속도 가 될 수 있다. 메서드 (Methods): 객체가 할 수 있는 행동 또는 동작ex) 자동차 객체라면 메서드는 출발하기, 멈추기, 속도 변경하기 등이 될 수 있다. 속성과 메서드를 하나로 묶는다는 것은?예를 들면 자동차 객체의 속성은 빨간색, 도요타 브랜드, 현재 속도 50km 라고 가정할 수 있고,그 자동차의 가속 메.. 2024. 9. 25. 이전 1 2 다음