1.제한자-①접근제한자(값을 변경, 조회)- 접근 범위를 정해줌.(ex :  public, protected, packagefriendly(아무것도 쓰지 않을경우), private)
         ②보통 제한자(final(한번 값을 넣으면 변경할 수 없음을 제한))


2.private에 접근하기 위해서 변경하는 메소드와 조회하는 메소드를 지원한다.(set(int a), get())

3. 캡슐화(은닉성, 정보 하이딩 기법)
- instance 변수의 접근제한자는 private로 하여 직접 접근하지말고 변수의 값을 변경하는 setter와 조회할수 있는
  getter메소드를 public으로 제공하라.
- setter구문 :  public void set변수명(매개변수 :  변수 type)  int age; public void setAget(int a){}
- getter구문 : public 변수 type get변수명(){}, public int getAget(){}
- boolean : 변수명을 is로 시작하라.

4. 변수

-Local variable : 메소드 안에 선언한 변수.(지역변수 Method variable)(매개변수도 local변수)
 ->사용범위 : 메소드 수행시. 선언부 실행~메소드 종료.
 ->외부에서 호출(접근)불가.
 ->실행 stack(excute stack) 메모리 영역에 저장.  stack 구조는 FILO구조를 가진다.( 먼저들어간게 나중에 나온다.)
 ->묵시적 초기화가 없다.
*객체는 heap영역에 저장.

*변수 = 값
① value(10,20,"ABC")
② 연산(10+20)
③ 변수 int i = 20;
        int j = i;
④ 메소드 호출문 int j = sum(10,20);//리턴값

*Local 변수는 자신이 선언되어 있는 블럭 내에서만 사용가능하다.
ex :

void go(){
 int i = 10;
 {
  System.out.println(i);(가능)
  int j = 20;
 }
 System.out.println(j);(에러)
}

 

5. 데이터 저장

- (실행)stack - 실행 중인 메소드의 local 변수(로컬변수에서 변수는 사용이 끝나면 없어 지므로 (실행) 스택이라는 말을 쓴다.)
- heap  - 객체가 저장.

6. this : 이것(①overloading constructor(생성자),
               ②현재 일하는 메소드, 생성자를 소유한 객체를 가리키는 Local 변수)
          -> 현재 일하고 있는 객체의 주소값을 가리킨다.
          -> instance 메소드나 생성자 호출 시 실행 stack 영역에 가장 먼저 올라간다.

 

'프로그래밍 > JAVA프로그래밍' 카테고리의 다른 글

if문  (0) 2012.07.28
Data type, 연산자, 형변환  (0) 2012.07.28
객체지향(oop)이라면 알아야할 개념  (0) 2012.07.28
this  (0) 2012.07.28
오버로딩(overloading)  (0) 2012.07.28
Posted by 조은성
,

* 객체지향(oop)이라면 알아야할 개념
1. 캡슐화 - 정보은닉
* 접근 제한자 (특정 데이터에 접근을 막아 버리는 것) : class, 메소드, 생성자, instance 변수, static 변수에 사용되는 제한자-> 호출의 범위를 제한하는 역할
-public(UML : +) : 접근에 제한이 없다. (공중화장실) :  UML에서는 +로 표현
-protected(UML : #)
-private(UML : -) : 객체 내에서만 접근 가능.(개인화장실 :  우리집 안에서만 쓸수 있음), 같은 클래스 내의 메소드에서만 접근이 가능하다
-package friendly : 제한자를 붙이지 않으면 package friendly이다.(default 접근제한자라고 부르기도 한다.)


2. 상속
3. 다형성

 

'프로그래밍 > JAVA프로그래밍' 카테고리의 다른 글

Data type, 연산자, 형변환  (0) 2012.07.28
제한자, 캡슐화, 변수, this  (0) 2012.07.28
this  (0) 2012.07.28
오버로딩(overloading)  (0) 2012.07.28
클래스, 생성자  (0) 2012.07.28
Posted by 조은성
,

* this([값,...]);
->생성자에서 overloading 된 다른 생성자 호출.
-생성자 구현부의 첫번째 실행문으로 들어와야 한다.
ex : 
-안되는 경우
Student(){
System.out.println("aaaa");
         this(10);
 }
-----------------------
-되는 경우
Student(){
this(10);
System.out.println("aaaa");
        
}
-----------------------

-this()의 사용
Student(String sid,String n,int a){
 studentId = sid;
 name = n;
 age = a;
}

Student(String sid,String n, int a, int g, int sy){
 /*
 studentId = sid;
 name = n;
 age = a;
 */
 this(sid,n,a);                    <----------------------this()는 이렇게 사용한다.(코드를 좀더 짧게 하는 거지 몰라도 된다).
//만약 new Student(sid,n,a);를 쓰게 되면 새로운 객체를 새로 하나 만든다는 것이고 this(sid,n,a);를 하게 되면 내부적으로 생성자를 불러만 오는 것이다.
 grade = g;
 schoolYear = sy;
}

 

Posted by 조은성
,

1.오버로딩-생성자 -매개변수가 다르다면 같은 이름의 메소드/생성자를 한 class안에 여러개 만들 수 있는 것
          -메소드


- 오류나는 코드(같은 코드내에는 같은 이름의 변수를 쓸수 없다.
int a = 10;
String a = "ABC";
-----------------

-이건 안됨.
void go(){}
void go(){}
-------------

-이건 됨(메소드 오버로딩)
void go(){}
void go(int a){}
-----------------

- class overloading
Student(){}
Student(int a){}
--------------------------

- 메소드 오버로딩을 하는 경우 :  같은 일을 하는데 매개변수(인수)가 다를 경우(이럴 경우 장점은 호출하는 사람이 메소드 이름을 하나만 알면된다.)
(동일하게 덧셈을 하는 경우)
int add(int a,int b){}
double add(double a,double b){}

(ex: System.out.println("aa", System.out.println(10), System.out.println(10.2));

'프로그래밍 > JAVA프로그래밍' 카테고리의 다른 글

객체지향(oop)이라면 알아야할 개념  (0) 2012.07.28
this  (0) 2012.07.28
클래스, 생성자  (0) 2012.07.28
editplus 다운로드 및 설치하기  (0) 2012.07.28
자바의 특징(키워드, 주석, 객체)  (0) 2012.07.28
Posted by 조은성
,

5.class

한 파일(ABC.java)에
class A{
 }
class B{
 }
로 저장을 하면 class파일은 A.class B.class 두개가생긴다.

6. 생성자(Constructor) - 객체가 생성될 때 한번 호출되어 실행되는 동작.객체가 생성되서 소멸될 때까지 딱 1번만 실행됨
- 호출 : new 생성자()

- 구문 : [제한자] class이름([매개변수,...]){구현}
- 제한자 : public, protected, private : 접근제한자
- return 타입이 없다.
- 이름 :  class 이름과 반드시 같아야 한다.
- 매개변수(parameter)는 0~n개 가질 수 있다.

- default 생성자 : class에 생성자가 한개도 없으면 compiler가 생성해 주는 생성자
구문 : public Class이름(){}

- 생성자 역할 :  instance Member 변수의 값을 초기화(처음 값을 대입)
- 객체가 소멸될때까지 계속 사용할 자원들을 생성.

'프로그래밍 > JAVA프로그래밍' 카테고리의 다른 글

this  (0) 2012.07.28
오버로딩(overloading)  (0) 2012.07.28
editplus 다운로드 및 설치하기  (0) 2012.07.28
자바의 특징(키워드, 주석, 객체)  (0) 2012.07.28
자바의 역사 및 설치하기  (0) 2012.07.28
Posted by 조은성
,

4.www.editplus.co.kr
에디트 플러스 다운하기
에디트 플러스 설정'
도구-사용자기본설정(사용자 도구)-> 추가->new program-> 명령 :  javac-> 명령 : C:\Program Files\Java\jdk1.6.0_31\bin\javac.exe
디렉터리 : 현재디렉터리

'프로그래밍 > JAVA프로그래밍' 카테고리의 다른 글

오버로딩(overloading)  (0) 2012.07.28
클래스, 생성자  (0) 2012.07.28
자바의 특징(키워드, 주석, 객체)  (0) 2012.07.28
자바의 역사 및 설치하기  (0) 2012.07.28
Java 설치 및 이론 정리  (0) 2012.06.20
Posted by 조은성
,

#자바의 특징
1.자바는 플랫폼만 만들어 두면 어느 O/s에서나 다 돌아간다.
2.자바는 객체지향 언어이다.

*객체란? 세상에 존재하는것 (ex : 눈에 보이는것 :  차, 사람, 책상.  관념적인것 : 사람, 계좌)

-객체-속성(attribute)
     |
     -동작(operation)

* 2012.2.22 3일차

1.키워드 - 예약어-> 언어차원에서 사용하기 위해 예약한 단어들.
(ex : class, public, int, double.......)

-자바에서는 참거짓을 true/false로만 표현한다. 0/1은 안된다.
-모든 키워드는 소문자다.

-식별자 이름규칙 : 1.알파벳,숫자(숫자는 두번째 글자부터 가능)
                   2.특수문자 중에는 _,$만 가능하다.
                   3.글자수는 무제한.
                   4.대소문자 구분
                   5.keyword는 식별자로 쓸수 없다.
                   6.class :  모두 소문자, 단어의 첫글자는 대문자
                   7.변수,메소드 :  모두 소문자, 두번째 단어부터 첫글자는 대문자
                   8.final 변수 - 한번 값이 할당되면 못바꿈, 모두 대문자, 단어_단어

2.주석
//한줄짜리 주석
/* */여러줄짜리 주석
/** */ JAVA doc주석

3. 공백 - space, tab, enter :  가독성을 높여준다. program에 영향을 미치지 않는다.
; -> 구문의 종료를 나타낸다.(마침표역할. 실행문의 종료)

'프로그래밍 > JAVA프로그래밍' 카테고리의 다른 글

클래스, 생성자  (0) 2012.07.28
editplus 다운로드 및 설치하기  (0) 2012.07.28
자바의 역사 및 설치하기  (0) 2012.07.28
Java 설치 및 이론 정리  (0) 2012.06.20
JAVA정리파일  (0) 2012.04.19
Posted by 조은성
,

1.JAVA의 역사(Sun microSystems에서 만듬)

96년도 1.0 버전
------------------1.2버전(이 시기에 엄청나게 많이 바뀌었음, 새로운 개념들이 많이 들어감, 자바의 틀을 잡음. JAVA2라고 부름

------------------1.5버전(이 시기에 엄청나게 많이 바뀌었음, 새로운 개념들이 많이 들어감, 프로그래머들의 요구사항이 많이 들어감.JAVA5라고 부름
현재 1.7버전까지 나옴

2.JAVA 기술군
applet-> 기본적인 움직임이 있는 웹문서

-JAVA ME(Micro Edition)-하드웨어를 기반으로 묵었음. 작은기계에 들어감(ex : 핸드폰)
-JAVA SE(Standard)-표준이 되는 것.PC(ex : 데스크톱(워드프로세서))
-JAVA EE(Enterprise Edition)-기업용 (웹과 프레임워크)

3. 자바 설치
JAVA를 실행하기 위한 프로그램(JRE)
JVM(JAVA VIRTUAL MACHINE) : 자바가상머신.하드웨어를 소프트웨어적으로 구현한것에 자바를 붙인것 (소프트웨어적으로 o/s와 h/w를 구현한것->JAVA program을 실행시켜주는 가상 플랫폼
API( Abstract Programming Interface) :  미리 만들어둔 코드.(라이브러리와 같다.) 자주사용되는 코드들을 미리 만들어 제공.

     O/S와 H/W를 합쳐서 플랫폼이라고 부르며 실행을 할수 있게 해주는 도구이다.
     -JRE(JAVA Runtime Enviornment) 실행환경은 JVM과 API를 합쳐서 말한다. == 자바플랫폼이라고도 부른다.
 JDK-|
     -개발 utility들
(JAVA Develoment kit(자바개발도구))

4.설치
JDK
http://www.oracle.com/index.html
여기서 Java SE 6 UPDATE 31을 받음
라이센스 access하고 windowsx86을 받는다 . 32비트일경우.

next로 설치

-jdk 설치후 환경설정 - name - value 쌍 형태(ex : 이름 =홍길동, 나이 = 20) key - value
시작-내컴퓨터-마우스오른쪽- 속성-고급시스템설정-고급-환경변수
새로만들기
1. 이름  :  JAVA_HOME
   값 :  JDK 설치 경로( C:\Program Files\Java\jdk1.6.0_31 )
2. 이름  :  path
   값 : JDK 설치경로/bin ( C:\Program Files\Java\jdk1.6.0_31\bin ) <-기존에 있는 것 그대로 두고 home키 눌러서 맨앞으로가서 붙여넣기 한 후 ;를 붙여준다.
새로만들기
3. 이름 :  classpath
   값 :  .;

* 2012.2.21 2일차
1. 컴파일드 방식은 빠르지만 interpred방식은 속도가 느리다.
-JAVA는 interpred방식의 프로그램이다.
-한번 만들면 어느곳에서든 그 소스가 돌아가야 한다.
src - 사람이이해하는 방식

 

|
| 컴파일
|
program - 기계가 이해하는(0,1)

2.자바 - 인터프리트방식(속도는 느리지만 플래폼이 독립적이다)
src - 사람(high level언어)
|-> file명.java(ex : HelloWorld.java)
|
|->컴파일 : javac file명.java
|
|->실행 : java class파일명

-실행시점(Runtime)->JVM이 이해하는 말로 만들어짐.
①class Loading - classfile을 메모리에 올리는 작업
②실행-> interpreted방식(실행,구문단위로 기계어로 변경 후 실행)

***컴파일-> class-> byte code-> JVM(byte code는 JVM이 이해하는 언어)

'프로그래밍 > JAVA프로그래밍' 카테고리의 다른 글

클래스, 생성자  (0) 2012.07.28
editplus 다운로드 및 설치하기  (0) 2012.07.28
자바의 특징(키워드, 주석, 객체)  (0) 2012.07.28
Java 설치 및 이론 정리  (0) 2012.06.20
JAVA정리파일  (0) 2012.04.19
Posted by 조은성
,

ImageView

프로그래밍/Android 2012. 7. 27. 15:43

 

 

'프로그래밍 > Android' 카테고리의 다른 글

사용자지정 Adapter설정[실습]  (0) 2012.07.30
리스트뷰(어뎁터뷰, 리스트뷰, 스피너, 갤러리)  (0) 2012.07.30
TextView  (0) 2012.07.27
View  (0) 2012.07.27
AdapterViewTest(Apater와 ListView의관계) - 실습  (0) 2012.07.24
Posted by 조은성
,

TextView

프로그래밍/Android 2012. 7. 27. 15:43

 

 

'프로그래밍 > Android' 카테고리의 다른 글

리스트뷰(어뎁터뷰, 리스트뷰, 스피너, 갤러리)  (0) 2012.07.30
ImageView  (0) 2012.07.27
View  (0) 2012.07.27
AdapterViewTest(Apater와 ListView의관계) - 실습  (0) 2012.07.24
AdapterView(ListView, spinner)  (0) 2012.07.24
Posted by 조은성
,