반응형 개발/개념정리8 [자바] 접근제어자 1. 접근제어자 public : 어디서든 사용 가능하며 다른 패키지도 가능 protected : 같은 패키지 내 가능. 다른 패키지는 상속 필요 default : 기본 제어자. 명시 안하면 자동으로 default 적용. 동일 패키지에서만 가능 private : 해당 클래스에서만 사용 가능. 상속받아도 불가능. 다른패키지 다른패키지 (상속받은클래스) 같은 패키지 같은 클래스 public O O O O protected O O O default O O private O 매번 헷갈려서 사용할때마다 구글링.... 2024. 4. 14. [자바] OOP 5가지 원칙 클래스 : 객체르 정의해두는 곳. 객체 : 실제로 존재하는 사물. 인스턴스 : 클래스에 객체를 만드는 행위 -> 인스턴스화. 인스턴스는 그렇게 만들어진 객체를 의미함. 1. 객체지향언어(oop) 5가지 원칙 - SOLID 1.1 OOP 정의 OOP : 현실세계의 사물 및 개념들을 객체로 바라보며 그 객체들을 조립해 프로그래밍 하는 기법. 1.2 OOP 원칙 S : 단일책임의 원칙 -> 한 클래스는 하나의 책임만을 가져야한다. O : 개방 폐쇄 원칙 -> 확장은 개방적이며 변경은 폐쇄적이여야 한다. L : 리스코프 치환 원칙 -> 객체는 정확도는 유지하면서 하위 타입의 인스턴스로 변환할 수 있어야 함. I : 인터페이스 분리 원칙 -> 인터페이스는 클라이언트에게 필요한 메서드만을 포함해야한다. D : 의존.. 2024. 4. 13. [자바] 객체지향 특징(3) - 상속화, 다형화 1. 상속화 1.1 정의 상위 클래스의 모든 것(변수, 메서드)을 하위 클래스가 이어받는 것. 1.2 사용 이유 코드의 재사용성을 극대화시키기 위해 사용. 상속 시 부모클래스에서 정의한 변수, 메서드를 사용할 수 있기 때문에 재사용성이 높아지고 코드의 중복이 줄어들어 간결해짐. 또한 메서드 로직이 변경될 때 상위 클래스의 메서드만 변경하면 다른 상속받은 자식클래스들도 동일하게 적용이 되기때문에 코드의 관리가 편해짐. 1.3 사용 예시 - extends 사용 package test; public class Parent { public void ParentMethod() { System.out.println("hello"); } } package test; public class Child extends P.. 2024. 4. 12. [자바] 객체지향 특징(2) - 추상화. 인터페이스,추상클래스 차이점 1. 추상화 1.1 정의 클래스 공통 특성(변수, 메서드)를 묶어서 표현 즉, 인터페이스 추상클래스를 생성하는 것으로 역할을 정의함. 1.2 사용 이유 중복 코드가 줄어들어 코드가 간결해짐. 생산성, 가독성증가. 오류 감소. 유지보수 시간 단축 등. 2. 추상클래스 vs 인터페이스 2.1 공통점 - 코드의 중복과 유지보수를 위해 사용 -> 결합도가 낮은 코드 만듦. - 추상메서드의 구현을 강제. - 자신을 인스턴스로 생성 불가능. 2.2 차이점 (추상클래스) 다중상속 불가능. - 생성자, 일반 변수 가질 수 있음. - 상속받는 클래스는 추상메서드만 구현해도 됨. - extends 사용 2.3 차이점 (인터페이스) - 다중 상속 가능. - 추상 메서드만 사용 가능. - 생성자, 일반 변수 사용 불가능. -.. 2024. 4. 11. 이전 1 2 다음 반응형