신졸 SE의 비망록[Java 오브젝트 지향편]
【Java 오브젝트 지향편】
신인 연수시의 Java 오브젝트 지향의 메모입니다.
객체 지향 (속성, 방법)
부품화의 사고방식이며, 「인간이 파악할 수 없는 복잡성」을 극복하기 위해서 생각되었다.
//①
public class Car{
String maker
int displacement
String color
void start(){
System.out.println("発進")
}
void turn(){
System.out.println("曲がる")
}
void stop(){
System.out.println("停止")
}
}
//②
public class TestCar{
public static void main(String[] args) {
Car car = new Car();
}
}
객체 지향으로 하고 있는 것. (위의 예)
①차의 설계서를 작성
↓
②차의 설계서를 바탕으로, 인스턴스(new)차를 제조.
생성자는 인스턴스화 후 즉시 실행됩니다. 처음에만.
//コンストラクタの基本書式
public class クラス名
クラス名() {
//ここに自動実行処理を記述する。
}
}
생성자는 메소드명과 클래스명이 같다. 메서드 선언으로 반환 값 없음 (void도 없음)
클래스 블록 안에 선고된 변수를 필드라고 한다.
【오브젝트 지향의 3대 기능】
①캡슐화(액세스 제어)
private 동일한 클래스에서만 액세스할 수 있음
클래스는 private
메소드는 public
필드는 private 로 수식한다.
필드는, private로 숨겨, getter, setter 메소드를 경유해 액세스 한다.
메소드로 필드를 보호하고 있다.
게터와 세터
//getterメソッドの定石
public 値を取り出すフィールドの型 getフィールド名() {
return this.フィールド名;
}
자신의 클래스의 필드를 다른 클래스에서 호출할 수 있도록 하려면
필드의 내용을 반환하는 메서드
//setterメソッドの定石
public void setフィールド名(フィールドの型 任意の変数名) {
this.フィールド名 = 任意の変数名;
}
특정 필드에 지정된 값을 할당하는 메서드
②계승( 【extends】 비슷한 것을 작성)
오버라이드(override)란, 부모 클래스를 상속한 아이 클래스를 선언할 때에, 부모 클래스의 멤버를 아이 클래스측에서 덧쓰기하는 것을 말한다.
상속은, 어느 2개의 클래스에 특화·범화의 관계가 있는 것을 나타낸다.
상속원을, 슈퍼 클래스
상속 대상, 서브 클래스
※선언시에 final라고 기술하면, 클래스는 계승할 수 없다.
③다양성(대략 똑같이. 그 결과가 효율적인 개발에)
인스턴스를 모호하게 파악해 생각한다.
is-a의 관계 아이 클래스 is-a 부모 클래스(아이 클래스는 부모 클래스의 일종)
①②③ 이들을 이용하여 컴퓨터 내의 가상 세계를 재현
자바의 가상 세계는 컴퓨터의 메모리 영역
여담
Java 연수로 학습한 오브젝트 지향이 현재의 업무로 활용되고 있습니다.
이 기사는, 프로그래밍 초보자의 제가 정리한 것이므로, 뭔가 조언이 있으면, 코멘트를 받을 수 있으면 매우 기쁩니다!
업무외는 Ruby, Ruby on Rails를 사용하여 포트폴리오 작성을 하고 있습니다.
앞으로도 계속 노력하겠습니다.
Reference
이 문제에 관하여(신졸 SE의 비망록[Java 오브젝트 지향편]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/haruki_uejima/items/8a57e4144ad73df20f45
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
//①
public class Car{
String maker
int displacement
String color
void start(){
System.out.println("発進")
}
void turn(){
System.out.println("曲がる")
}
void stop(){
System.out.println("停止")
}
}
//②
public class TestCar{
public static void main(String[] args) {
Car car = new Car();
}
}
//コンストラクタの基本書式
public class クラス名
クラス名() {
//ここに自動実行処理を記述する。
}
}
//getterメソッドの定石
public 値を取り出すフィールドの型 getフィールド名() {
return this.フィールド名;
}
//setterメソッドの定石
public void setフィールド名(フィールドの型 任意の変数名) {
this.フィールド名 = 任意の変数名;
}
Reference
이 문제에 관하여(신졸 SE의 비망록[Java 오브젝트 지향편]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/haruki_uejima/items/8a57e4144ad73df20f45텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)