java 이론 6

java 이론(?) :) 접근제어자, pulbic > protected > default > private

goal 접근제어자에 대해서 이해한다 1. 제어자의 종류 접근 제어자 public, protected, (default), private 기타 제어자 static, final, abstract, native, trasnsient, synchronized 등 [1] 접근 제어자 (Access Modifier) 접근 제어자 접근 제한 범위 private 동일 클래스에서만 접근 가능 default 동일 패키지 내에서만 접근 가능 protected 동일 패키지 + 다른 패키지의 하위 클래스에서 접근 가능 public 접근 제한 없음 1. 접근 제한의 구분 public(접근 제한 없음) > protected(동일 패키지 + 하위클래스) > default(동일 패키지) > private(동일 클래스) 접근 제어자 ..

Java/java 이론 2022.05.12

java 이론 + Object 대표 메소드 :) 간단한 정리, 메소드 오버라이딩 3가지 조건/Object class의 대표 메소드/캡슐화/package/import

goal 메소드 오버라이딩의 3가지 조건/Object class의 대표 메소드 1 ] 메소드 오버라이딩의 3가지 조건 메소드의 선언부 (메소드 이름, 매개변수, 반환타입)이 상위 클래스의 그것과 완전한 일치 접근 제어자의 범위가 상위 클래스의 메소드보다 같거나 넓어야한다. 예외는 상위 클래스의 메소드보다 많이 선언할 수 없다. 2 ] Object class의 대표 메소드 메소드명 반환타입 주요내용 toString() String 객체 정보를 문자열로 출력 equals(Object obj) boolean 등가 비교 연산(==)과 동일하게 스택 메모리값을 비교 hashCode() int 객체의 위치정보 관련. Hashtable 또는 HashMap에서 동일 객체여부 판단 wait() void 현재 쓰레드 일시..

Java/java 이론 2022.05.12

운영체제 + java관련(?) + 개발자라면? :) 쓰레드를 알기전에, 멀티프로세싱/멀티프로그래밍/멀티태스킹

goal thread의 개념을 이해하기 전에 선행 1 : 멀티프로세싱이란? 선행 2 : 멀티프로그래밍이란? 선행 3 : 멀티태스킹이란? goal : thread란? ->포스팅예정 선행개념을 넣는 이유 사실 쓰레드만 이해해서, 쓰레드가 어떤 역할을 하는지만 이해해도 코드를 작성하는데 큰 문제는 없을 것이라 생각한다. 하지만 파고들고 파고들수록 더 큰 부분의 개념을 알게 되었고, 지금 이해한 내용을 까먹지 않기 위해 기록하는 동시에 운영체제 위에서 일반적으로 프로그램이 돌아가는 방식을 이해하기 위해 글을 적어본다. 난 개발자니까 프로그램이 시스템에서 어떻게 도는지는 알아야겠지? 근데, 이거 CS아니야?????????????????? -> 그냥 운영체제에 기입 CS내용이다. 근데, java프로그램에서는 thr..

CS/운영체제 2022.05.10

Spring + java 이론 :) SOLID원칙, 객체지향 설계 5원칙 **백번천번만번십만번 보기**

goal 객체지향 설계 원칙 (객체지향 설계 5원칙)의 SOLID원칙을 이해한다. 1 ] 객체지향 설계의 5원칙, SOLID원칙 명칭 번역 SRP (The Single Responsibility Principle) 단일 책임 원칙 OCP (The Open Closed Principle) 개방 폐쇄 원칙 LSP (The Liskov Substitution Principle) 리스코프 치환 원칙 ISP (The Interface Segregation Principle) 인터페이스 분리 원칙 DIP (The Dependency Inversion Principle) 의존관계 역전 원칙 1. SRP (단일 책임 원칙) [1] 개념 모든 클래스는 하나의 책임만 가지며, 그 책임을 완전히 캡슐화해야 함을 말함 클래스..

java 이론 :) OOP가 무엇이며 왜 쓰는가?

goal 객체지향의 개념을 이해한다. 절차 지향과 객체지향 "절차 지향과 객체 지향" 용어 설 명 절차 지향 "무엇을 어떤 절차로 할 것인가?" - 기능중심으로 바라보는 개발 - 순서 처리 초점 객체 지향 "누가 어떤 일을 할 것인가?" - 객체가 중심이 되는 개발 - 역할에 따른 개발 1 ] OOP (객체지향 프로그래밍) 1. 개념 - 생략 2. 특징 특 징 설 명 추상화 객체들의 특징(기능, 속성)을 도출 객체지향적 관점에서는 클래스를 정의하는 것을 추상화라고 할 수 있다. 캡슐화 구현부를 외부에 숨겨 정보를 은닉하는 것 객체가 독립적으로 역할을 할 수 있도록 데이터와 기능을 하나로 묶어 관리 코드가 묶여있어서 오류가 없어 편하다 상속성 부모 클래스가 가진 특징을 자식 클래스가 그대로 물려받는 것 상..

Java/java 이론 2022.04.24

Spring + java 이론 :) 의존성 주입의 의미와 개선 코드

goal 의존성 주입 (Dependency Injection)을 이해한다. 1 ] 의존성의 의미 1. 개발을 하다보면 의존성이 생겨나기 마련이다. class Programmer { private Coffee coffee; public Programmer() { this.coffee = new Coffee(); } public startProgramming() { this.coffee.drink(); } } 위 코드와 같이 Programmer 클래스에서 startProgramming 함수가 호출되기 위해서는 Coffee 클래스를 필요로 한다. 이것을 Programmer 클래스는 Coffee 클래스의 의존성을 가진다. 라고 말한다. 2. 위의 코드의 문제점 - 위의 코드처럼 설계할 경우, 코드의 재활용성이 ..