타키탸키
로그인
타키탸키
로그인
[JAVA] 객체 지향 프로그래밍
타키탸키
·
2022년 8월 16일
팔로우
0
Java
OOP
0
JAVA
목록 보기
2/8
절차 지향 프로그래밍
C언어, 파스칼, ...
절차를 중심으로 프로그래밍하는 것
ex:) 비행기 타는 법(티켓 끊기 - 수속 밟기 - ...)
객체 지향 프로그래밍
객체를 중심으로 프로그래밍 하는 것
객체의 상태(데이터)와 객체에 행할 수 있는 행위(동작)를 정의
ex:) 비행기(데이터 - 항공, 좌석 / 행위 - 탑승하기) ...
클래스
템플릿
객체의 속성과 행동을 정의
객체
클래스의 인스턴스(사례)
멤버 데이터, 상태, 필드
객체에 있는 데이터
객체가 내포할 수 있는 데이터
각 필드에서 다른 값을 가짐(지구&금성)
멤버 변수를 통해 상태를 표현할 수 있다
객체의 상태는 변하는 값
고유의 인스턴스(독립적)
동작, 메서드, 행위
객체에 행할 수 있는 행위
클래스의 동작
Person
상태: name, address, hobbies, work
동작: walk(), run(), sleep(), eat()
캡슐화
특정 클래스의 데이터에는 해당 클래스만 접근할 수 있도록 해야 한다는 개념
특정 객체에 속하는 데이터를 숨겨 접근을 차단하고 연산만 허용한다
서로 다른 클래스에서 하나의 클래스가 다른 클래스의 내부 변수에 직접 접근하는 것은 바람직하지 않다
다른 클래스가 해당 데이터에 접근하려면 메서드를 통해 간접적으로 접근해야 한다
캡슐화의 장점
잘못된 데이터의 객체 접근 제한
메서드를 통해 특정 파라미터 제한 가능
ex:) 메서드 내에서 조건문을 설정하여 음수는 받지 않음
접근 제어자
private
외부 클래스에서 접근 불가능
this
를 통한 접근
setter
캡슐화 된 변수에 값을 설정할 때 사용
getter
캡슐화 된 변수의 값을 가져올 때 사용
setter / getter 자동 생성
이클립스에서 제공하는 기능
오른쪽 클릭 >> source >> generate getter/setter
추상화
어떤 객체를 사용할 때, 그 동작 원리까지는 알 필요가 없다
API는 그 내부 로직을 모르더라도 호출만으로 사용이 가능하다
특정 객체의 접근을 제한하는 캡슐화와 관련 있는 개념
생성자
객체를 만들 때, 해당 객체의 최초 상태를 설정해야 한다
프로그램 시작 시, 초기값 지정이 가능하다
지정하지 않으면 자동으로 0
반환 타입이 필요하지 않다
생성자의 메서드명은 클래스명과 동일하다
new 키워드로 새로운 객체를 만들 때마다 생성자가 호출되고 생성자 내부의 코드가 실행된다
생성자를 따로 만들지 않으면 자바 컴파일러가 자동으로 (내부가 비어 있는)디폴트 생성자를 제공한다
하나의 클래스에서 여러 생성자를 가질 수 있고 하나의 생성자 내부에서 다른 생성자를 호출할 수 있다
타키탸키
There's Only One Thing To Do: Learn All We Can
팔로우
이전 포스트
[JAVA] JAVA Platform
다음 포스트
[JAVA] 기본 자료형
0개의 댓글
댓글 작성