today_is
[ java ] 객체지향 언어, java 본문
오늘의 목표
- 객체지향의 개념
- 객체와 인스턴스의 개념 차이
공부하는 이유
단순히 자바 코드만 작성할 줄 아는 것이 아니라,
코드의 작동원리를 알려면 클래스에 대한 지식을 확실하게 정리해야겠다는 생각이 들었다.
객체지향 언어 주요 특징
1. 코드의 재사용성이 높다
변수 및 필드의 재사용 : 일반적인 지역변수는 함수가 종료되면 소멸하지만, 필드는 값이 계속 유지된다
tip !! ) 지역변수는 {중괄호} 내부에서 선언된 변수 !!
멤버필드는 클래스 상단부에 선언한 필드 -> 멤버필드를 기반으로 생성자 생성
- 함수, 메서드의 재사용 : 클래스에 출력 메서드를 한번만 작성해두면, 여러 객체가 동일한 메서드를 호출하여 사용
- 클래스의 재사용 : 상속 (extends , implements)을 통해 만들어진 클래스를 기반으로 새로운 내용을 만들 수 있다
2. 코드 관리가 용이하다
- - 작성시 객체 지향 원칙을 지켰다면, 코드의 유지 보수가 수월해진다
- - 객체 지향 5대원칙(단일책임원칙 : 하나의 함수/클래스는 하나의 기능만 담당하도록 설계
- tip !! ) 용도와 목적에 따라서 클래스가 분리되어있는 코드가 유지보수도 편리
3. 신뢰성이 높은 프로그래밍을 가능하게 한다
- 이미 완성된 클래스를 기반으로 하여 새로운 코드를 작성하기가 용이하다 (상속)
- 기존 클래스를 상속받지 않더라도, 내부에서 활용하는 형태로 코드를 작성할 수 있다
클래스도 일종의 자료형 !!
클래스 : 서로 다른 자료형의 변수와 함수를 사용하여 만드는 사용자 정의 자료형
객체 : 클래스에 의해 만들어진 실제 데이터
속성 , 변수 , 필드 , 명사 attribute , property
기능 , 함수 , 메서드 , 동사 method , function
객체 object vs instance
특정 자료형을 명시하지 않은 코드 및 현실에 존재하는 모든 객체 == object
특정 클래스에 의해 만들어진 객체는 , 클래스를 실체화 했다고 하여 instance
ex01 ) 책상은 인스턴스다(△) : 틀리진 않았지만 적절한 표현은 아니다 !!
책상은 객체다(O)
ex02 ) 책상은 책상 클래스의 객체이다(△) : 틀리진 않았지만 적절한 표현은 아니다 !!
책상은 책상클래스의 인스턴스다(O)
네이밍 규칙
1. 패키지, 클래스, 변수, 메서드 등의 이름을 지정할 때는
어떠한 역할을 하는 것인지 드러나게 작성하는 것이 좋다.
ex ) String name;
이름에 관한 정보를 담은 변수 == 변수명 : name
이름은 문자열 형식의 정보 == 자료형 : String
2. 클래스명의 첫 시작은 대문자.
그 외의 것들은 모두 소문자로 시작하자.
package array;
class Human {
String name;
int age;
}
>> 클래스명인 Human만 대문자로 시작
3. 두 단어 이상의 합성어라면, 두번째 단어부터 첫 시작을 대문자로 작성하자.
ex ) humanAge
: 어떤 사람의 나이 정보를 담는 변수
study_Review
항상 메인함수에 코드를 몰아 적는 안좋은 습관이 있었는데
단일 책임 원칙을 배우면서 클래스를 분리하여 코드 작성하는 능력을 길러야겠다는 생각이 들었다.
또한 프로젝트를 하게 될 시에 다른 사람들이 나의 코드를 보고 단번에 이해할 수 있으려면
네이밍 규칙을 지켜주는 것이 좋겠다는 생각이 들어서 이 부분도 꼭 보완할 것이다 !!!
코딩을 하면서 왠지 영어 공부를 하게 되는 기분이기도 ...
'java' 카테고리의 다른 글
[ loop ] for, while 반복문 (0) | 2023.11.20 |
---|---|
[ control ] if ~ else , switch case (0) | 2023.11.17 |
[ array ] 중복 제거한 난수 생성하기 (로또번호 추첨) (0) | 2023.11.16 |
[ collection ] (0) | 2023.11.16 |
[ java ] 페이징(paging) 알고리즘 (0) | 2023.11.07 |