본문 바로가기

IT56

JAVA - Collection 1) 열거형 열겨형 - 상수 집합 / 상태처리 할때 많이 사용함 열거형여러 상수들을 보다 편리하게 선언할수 있는 문법 요소상수란? 변하지 않는 것 (요일, 계절, 동서남북, 12개월...) final 키워드 사용실제로 쓸때 현실세계에 쓰기보단 상태에 많이 사용(회원의 상태, 상품의 상태, 상품의 옵션...등등) class Seasons { public static final Seasons SPRING = new Seasons(); public static final Seasons SUMMER = new Seasons(); public static final Seasons FALL = new Seasons(); public static final Seasons WINTER = new Seaso.. 2024. 11. 29.
JAVA - 객체 지향 심화 3) 추상화 추상 - 사물이나 표상을 어떤 성질, 공통성, 본질에 착안하여 그것을 추출하여 파악하는것추상화란기존 클래스들의 공통적인 요소들을 뽑아서 상위 클래스를 만들어 내는 것이렇게 공통적인 속성과 기능을 모아서 정의해 주면 코드의 중복을 줄일 수 있고, 보다 효과적으로 클래스 간의 관계를 설정할 수 있으며, 유지/보수가 용이해짐 자바에서는 주로 추상 클래스와 ★ 인터페이스 ★ 라는 문법 요소를 사용해서 추상화를 구현두가지로 나누는 이유는? 클래스를 상속받는건 하나이지만 인터페이스는 인크리먼트(구현) 가 가능하기에  abstract 제어자 abstract = 미완성abstract  는 주로 클래스와 메서드를 형용하는 키워드로 사용되는데, 메서드 앞에 붙은 경우를 ‘추상 메서드(abstract method)’, 클래.. 2024. 11. 27.
JAVA - 객체 지향 심화 2) 캡슐화 캡슐화특정 객체안에 관련된 속성과 기능을 하나의 캡슐로 만들어 데이터를 외부로 부터 보호함 캡슐화를 해야 하는 이유- 데이터 보호의 목적- 내부적으로만 사용되는 데이터에 대한 불필요한 외부 노출을 방지 즉 가장 큰 장점은 정보 은닉! 보통 캡슐화 하는 방법1. 접근제어자 변경2. getter , setter 메서드  패키지특정한 목적을 공유하는 클래스와 인터페이스의 묶음 -같은 패키지 안에 있을때// 패키지를 생성했을 때package practicepack.test; // 패키지 구문 포함. 패키지가 없다면 구문 필요없음public class PackageEx {} -다른 패키지를 가져오고 싶을때1. 일반 방법package practicepack.test2; // import 문을 사용하지 않는 경우, .. 2024. 11. 27.
JAVA - 객체 지향 심화 1) 상속 상속기존의 클래스를 재활용하려 새로운 클래스를 작성하는 자바의 문법부모 클래스(슈퍼 클래스 - 나보다 상위에 있는 클래스)안에 있는것들을 자식클래스가 상속받아 사용가능한것 (필드, 메서드)"~클래스로부터 상속받았다"라는 표현보다는 "~클래스로부터 확장되었다"는 표현이 그 역할과 기능을 생각했을 때 더 적절한 표현임 두 클래스 간 상속 관계를 설정할 때 사용하는 extends 키워드 자체가 "확장하다"라는 의미를 가짐 보통 겹치는 것들을 부모에게 받아와서 사용하는 것! ★자바의 객체지향 프로그래밍에서는 단일 상속(single inheritance)만을 허용한다는 것 ★ 즉 다중 속성을 허용하지 않는다는것 포함관계상속처럼 클래스를 재사용할수 있는 방법으로 클래스의 멤버로 다른 클래스 타입의 참조변수를 선언함.. 2024. 11. 27.