[01] OOP(Object Oriented Programming, 객체지향 프로그래밍)
1. 객체 지향(콤포넌트, 부품)의 특징
- 한번 개발자가 개발한 코드는 "적은 수정"으로 재사용이 가능하도록함.
- 콤포넌트(완성된 소스)가 다른 콤포넌트와 결합하여 하나의 프로그램을 형성합니다.
. A 프로그램 --> 모듈 --> 출력 --> 처리 종류
. B 프로그램 --> 모듈 --> 출력 --> 처리 종류
│
↓
(공통모듈)
. A 프로그램 --> 콤포넌트 <-- b="" p=""> 워드 패드 --> 파일 열기 <-- p=""> -->-->
- OOP의 개념을 바탕으로 업무용 프로그램을 제작하면 관리비용이 절감될 수 있다.
Project type: Java Project
name: oop
[02] 메소드
- 메소드(함수)는 멤버 변수(데이터)를 조작하고 처리하는 역활을 합니다.
- 2번이상 호출되는 로직이나 향후 호출될 가능성이 있는 로직은
메소드의 대상이 됩니다.
- 리턴값이 없는 메소드는 void(공허한, 비어있는) 형을 지정합니다.
- 메소드가 받는 인수의 데이터 타입은 메소드를 호출하는 쪽과
일치해야 합니다.
1. 하나의 클래스에서 필드(변수)의 출력
[실행 화면]
객제지향
웹프로그램
개발프레임워크
>>>>> FieldTest.java
---------------------------------------------------------------------------------------
public class FieldTest {
String java = "객체 지향";
String jsp = "웹 프로그램";
String spring = "개발 프레임워크(자동화 소스)";
public static void main(String[] args) {
FieldTest ft = new FieldTest();
// ft: 객체명, new: 메모리 할당
System.out.println(ft.java);
System.out.println(ft.jsp);
System.out.println(ft.spring);
String summer="동해";
System.out.println("summer: " + summer);
}
}
---------------------------------------------------------------------------------------
2. 하나의 클래스에서 메소드 호출
- public void print(){ ... } : 출력 메소드
- public void line(){ ... } : 라인 출력 메소드
[실행 화면]
──────────
* 국어: 80
* 영어: 90
* 총점: 170
* 평균: 85
──────────
* 국어: 95
* 영어: 100
* 총점: 195
* 평균: 97
──────────
* 국어: 60
* 영어: 70
* 총점: 130
* 평균: 65
──────────
>>>>> /src/Sungjuk1.java
---------------------------------------------------------------------------------------
public class Sungjuk1 {
int kuk = 80; // 필드, 멤버 변수, 인스턴스 변수
int eng = 90;
int tot = 0;
int avg = 0;
public void print(){ // 메소드
tot = kuk + eng;
avg = tot / 2;
System.out.println("* 국어: " + kuk);
System.out.println("* 영어: " + eng);
System.out.println("* 총점: " + tot);
System.out.println("* 평균: " + avg);
}
public void line(){
System.out.println("──────────");
}
public static void main(String[] args) {
Sungjuk1 sj = new Sungjuk1();
sj.line();
sj.print();
sj.line();
sj.kuk = 95;
sj.eng = 100;
sj.print();
sj.line();
sj.kuk = 60;
sj.eng = 70;
sj.print();
sj.line();
}
}
---------------------------------------------------------------------------------------
3. 변수의 사용
- public void total(){ ... }
- public void point(){ ... }
- public void print(){ ... }
- public void line(){ ... }
[실행 화면]
영화명: Gravity <- p="" print="">성 인: 8000->
학 생: 6000
합 계: 14000 <- p="" total="">포인트: 700 <- 5="" p="" point="">->->
>>>>> Movie.java
public class Movie {
String movie = "그래비"; // 필드
int price1 = 10000;
int price2 = 8000;
int tot = 0;
int point = 0;
public void total(){ // 합계 메소드
tot = price1 + price2;
}
public void point(){ // 포인트 메소드
point = (int)(tot * 0.05);
}
public void print(){ // 인쇄, 다른 메소드 호출 가능
System.out.println("영화명: " + movie);
System.out.println("성 인: " + price1);
System.out.println("학 생: " + price2);
total();
System.out.println("합 계: " + tot);
point();
System.out.println("포인트: " + point);
}
public static void main(String[] args) {
Movie movie = new Movie();
movie.print();
}
}
[03] 메소드로 데이터의 전달
- 메소드가 실행될 때 처리할 데이터를 전달 받을 수 있습니다.
1. 메소드가 데이터를 전달받아 출력하는 메소드
- public void print(String str){ ... }
[실행 화면]
1. 자바 개발자 과정
2. A
3. 1000
4. 10.5
5. false
>>>>> /src/TransferTest.java
public class TransferTest {
public void printStr(String str){ // Call By value
System.out.println("1. " + str);
}
public void printChar(char chr){
System.out.println("2. " + chr);
}
public void printInt(int i){
System.out.println("3. " + i);
}
public void printDouble(double d){
System.out.println("4. " + d);
}
public void printBoolean(boolean bol){
System.out.println("5. " + bol);
}
public static void main(String[] args) {
TransferTest tt = new TransferTest();
tt.printStr("자바 개발자 과정");
tt.printChar('A');
tt.printInt(1000);
tt.printDouble(10.5);
tt.printBoolean(false);
}
}
2. 메소드가 두개 이상의 데이터를 전달받아 출력하는 메소드
- public void print(String str, int kuk){ ... }
[실행 화면]
자바 개발자 과정 A
자바 개발자 과정 A 1000
자바 개발자 과정 A 1000 10.5
자바 개발자 과정 A 1000 10.5 false
>>>>> /src/TransferTest2.java
public class TransferTest2 {
public void print(String str, char chr){
System.out.println(str + " " + chr);
}
public void print(String str, char chr, int i){
System.out.println(str + " " + chr + " " + i);
}
public void print(String str, char chr, int i, double d){
System.out.println(str + " " + chr + " " + i + " " + d);
}
public void print(String str, char chr, int i, double d, boolean bol){
System.out.println(str + " " + chr + " " + i + " " + d + " " + bol);
}
public static void main(String[] args) {
TransferTest2 tt = new TransferTest2();
tt.print("자바 개발자 과정");
tt.print("자바 개발자 과정", 'A');
tt.print("자바 개발자 과정", 'A', 1000);
tt.print("자바 개발자 과정", 'A', 1000, 10.5);
tt.print("자바 개발자 과정", 'A', 1000, 10.5, false);
}
}
[04] 콤포넌트 클래스의 분리
- 자바는 기본적으로 클래스 분리 개발 및 실행 환경을 제공함.
1. 프로젝트를 새로 만들고 클래스를 분리하세요.
Project type: Java Project
name: oop2
출처 : https://junghamin.blogspot.kr
2017년 9월 15일 금요일
for문전에 public static
public class randomNum {
public static int[] main(String[] args) {
final int num[] = new int[6];
int MAX = 6;
int xnum;
int icount, j;
for (icount = 0; icount < MAX; icount++) {
2017년 9월 13일 수요일
리눅스 x-windows 창크기 조절 방법 쉽게 하자.
linux X-windows windows resize 방법
리눅스 x-windows 창크기 조절 방법 쉽게 하자.
Alt + mouse right-click + drag
This is maybe the easiest and most useful way of resizing windows. I’m tempted to say that once you got accustomed to this it’s hard to go back. Simply hold the Alt key, right-click somewhere inside the window and drag to resize. It works intriguingly well and is a very nice complement to the easiest way of moving windows: holding Alt and left-click drag.
Alt + mouse right-click + drag
이것은 아마도 창의 크기를 조절하는 가장 쉽고 유용한 방법 일 것입니다. 나는 일단 익숙해지면 되돌아 가기가 어렵다고 말하고 싶다. Alt 키를 누른 상태에서 창 안쪽을 마우스 오른쪽 버튼으로 클릭하고 드래그하여 크기를 조정하십시오. 그것은 흥미롭게 잘 작동하고 Alt와 왼쪽 클릭 드래그를 잡고 윈도우를 움직이는 가장 쉬운 방법을 보완 해줍니다.
리눅스 x-windows 창크기 조절 방법 쉽게 하자.
Alt + mouse right-click + drag
This is maybe the easiest and most useful way of resizing windows. I’m tempted to say that once you got accustomed to this it’s hard to go back. Simply hold the Alt key, right-click somewhere inside the window and drag to resize. It works intriguingly well and is a very nice complement to the easiest way of moving windows: holding Alt and left-click drag.
Alt + mouse right-click + drag
피드 구독하기:
글 (Atom)
-
Rosewell 사건의 유일한 생존자인 외계인 Airl에 관한 이야기를 전해 드리고자 합니다. 이책은 우리에게 정말 귀한 정보 와 통찰력을 주며, 왜 이렇게 삶이란 것이 깊은 고뇌를 동반하는 것인 과정인지 근본적인 대답을 해주며, 죽는다는 것이 어렵...
-
아치 리눅스 한글 간단 사용기 한글 입력기로 ibus 사용 하기로 한다. nabi 도 좋긴 한데 구글 크롬과 심각한 버그로 쓰기 힘든 상태 이므로 nabi 는 패스 하기로 아이뻐스 설치 pacman -S ibus ibus-hangul ...
-
중국 쌍색구(双色球) 빨간공 6개 : 1~33 판란색 1개 : 1~16 빨간색, 파란색 두가지 색이라 쌍색구 라 함 APP LINK https://play.google.com/store/apps/details?id=gotopark....