일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 입력메소드
- 비밀번호암호화
- jdbc환경설정
- mvc
- 배열
- 페이지 재사용
- 별찍기
- 회원정보수정
- jdbc설정
- 권한변경
- Git
- 회원탈퇴
- 정처기
- 인코딩
- 국비학원
- 내일배움카드
- 페이징
- redirect
- live server 환경설정
- 국민취업지원제도
- 관리자회원조회
- 내배카
- jsp기본
- 검색기능
- emmet환경설정
- forward
- github
- 비밀번호변경
- 국취제
- 로그아웃
- Today
- Total
기록
*11일차(객체) 본문
@객체지향언어(object,instance)
-현실 세계는 사물이나 개념처럼 독립되고 구분되는 각각의 객체로 이루어져 있으며,발생하는 모든 사건들은 객체간의 상호작용이다.
-이 개념을 컴퓨터로 옮겨 만든 것이 객체지향 언어이다.
*객체
-프로그래밍에서의 객체는 '메모리 조각'
-new 연산자를 통해 클래스의 설계대로 데이터를 메모리에 할당한 결과물(instance)
클래스가 있어야 객체 생성 가능→클래스에 작성된 코드대로 할당하기 때문
ex)
*클래스
-객체를 정의해 놓은 것
-사물이나 개념의 공통요소(속성,기능)를 용도에 맞게 추상화 함.
ex)제품의 설계도
*추상화(abstraction)
-사전적 의미: 구체적 사물들의 공통된 특징
-프로그램에서 필요한 기능/구체적 사물들의 공통된 특징(속성)을 추출하고 불필요한 것을 제거하는 과정
✔속성 : 정적(상태값)
✔기능 : 동적 / 속성활용
✔상태 : 속성→ 필드
✔행동 : 기능→메소드
@접근제한자(class level)
- public : 접근 제한이 전혀 X
- protected : 같은 패키지에서 접근 가능 , 다른 패키지에서 상속관계는 접근 가능 / 다른 패키지에서 접근 불가
- default : 같은 패키지 내 /다른 패키지에서 접근 불가
- private: 같은 클래스 내 /다른 클래스에서 접근 불가
-사용이유
- 외부로부터 데이터를 보호하기 위함
- 외부에는 불필요한 내부적으로만 사용되는 부분을 감추기 위함
✔객체지향 프로그래밍에서는 클래스 재사용이 필수적, 타 패키지에 접근할 수 없어 쓸모X
✔field,method를 통칭
@객체지향 3대 원칙
- 캡슐화
- 상속
- 다형성
*캡슐화
-추상화를 통해 정의된 데이터들과 기능을 하나로 묶어 관리하는 기법
-필드의 접근제한자를 private 처리
-필드를 제어하는 메소드 public 지정
-필드+메소드 = 클래스로 관리
*상속
-기존의 클래스를 재사용하여 새로운 클래스를 작성
-코드의 추가 및 변경이 용이
-코드의 재사용성 높임
*다형성
-여러가지 형태를 가질 수 있는 능력
@setter/getter/this
*setter
-값 설정
-변수명이 같은 경우 가까운 유효범위에 선언
-필드에 변경할 값을 전달받아 필드값을 변경하는 메소드
-매개변수가 필드와 동일한 이름일경우 this연산자를 붙여 구분
*getter
-객체 안 해당 field값 가져옴
*this
-모든 인스턴스의 메소드에 숨겨진 채 존재하는 지역변수로, 해당 객체의 주소값을 담고있음
*UML다이어그램