개발자의 길/글로 적는 웹개발
-
2-3) 글로 적는 웹개발 공부 - 자바(Java)2019.09.10
-
2-2) 글로 적는 웹개발 공부 - 자바(Java)2019.09.08
2-3) 글로 적는 웹개발 공부 - 자바(Java)
- 객체는 아는것(품사로 명사 / 속성)과 하는것(품사로 동사 / 기능)을 가지고 있다.
- 자바는 클래스기반 객체지향언어이다.
- 클래스의 멤버는 멤버필드와 멤버메서드이다.
- 스택메모리(Stack memory) 영역은 메서드 혹은 생성자가 호출되면 해당 영역이 잠시 생성(쌓임) 됩니다.
- 힙(Heap) 영역은 객체가 존재하는 공간 입니다,
- 강아지(Dog) 클래스의 UML 입니다. 속성과 기능을 채워 보세요.
* UML(Unified Modeling Language) 란 프로그램 설계를 표현하기 위해 사용되는, 그림으로 된 표기법을 의미한다.
Dog |
속성: 성별 / 종 / 몸무게 / 색 / 나이 /이름 |
기능: 물다. / 짖는다. / 잔다. / 달린다 |
■ 변수
- 변수는 자료형에 따른 분류와 선언지역에 따른 분류가 있다.
- 자료형에 따른 분류는 기본자료형 변수와 객체자료형 변수가 있다.
- 객체자료형과 참조자료형은 같은 말이다.
- 기본자료형 변수의 대입은 값의 변수이다. (직접 들어감)
- 객체자료형 변수의 대입은 레퍼런스의 참조이다.
- 선언지역에 따른 분류는 지역변수와 멤버필드가 있다.
- 지역변수는 메모리가 스텍(Stack)에 쌓인다.
- 멤버필드는 메모리가 힙(Heap)과 스태틱(Static)에 쌓인다.
- 힙은 인스턴스(Instance) 멤버필드라고 부른다.
- 클래스는 객체의 설계도 / 객체자료형이다.
- 클래스의 멤버는 멤버필드와 멤버메서드로 나눈다.
- 다음을 스텍(Stack) 과 힙(Heap) 으로 그려보세요.
class A{
int a;
}
class B{
int a;
int b;
}
public class C{
public static void main(String[] args){
int a = 5;
int b = a;
A c = new A();
B d = new B();
A e = c;
c.a = b;
d.b = c.a;
System.out.println(e.a);
}
}
- 다음을 스텍(Stack) 과 힙(Heap) 으로 그려보세요.
class A {
int a;
A b;
}
class B {
int a;
B b;
}
public class C{
public static void main(String[] agrs){
int c = 3;
A a = new A();
B b = new B();
a.a = c;
int d = 5;
b.a = d;
a = new A();
a.b = a;
b.b = new B();
}
}
*접근제한자를 간단하게 말하면 자바에서는 클래스, 함수, 변수에 대한 접근을 제한하는 문법이 있다.
- public
- private
- protected
- default
'개발자의 길 > 글로 적는 웹개발' 카테고리의 다른 글
2-5) 글로 적는 웹개발 공부 - 자바(Java) (0) | 2019.09.12 |
---|---|
2-4) 글로 적는 웹개발 공부 - 자바(Java) (0) | 2019.09.11 |
2-2) 글로 적는 웹개발 공부 - 자바(Java) (0) | 2019.09.08 |
2) 글로 적는 웹개발 공부 - 자바(Java) (0) | 2019.09.08 |
1-4) 글로 적는 웹개발 공부 - 웹표준과 HTML 마크업, CSS, Javascript (0) | 2019.09.07 |
2-2) 글로 적는 웹개발 공부 - 자바(Java)
■ 자바(Java)
- 자바의 자료형은 두가지이고 기본자료형과 객체자료형이다.
- 변수의 선언은 자료형 변수명;
- SIX FINGER 를 식별자로 각각써보세요
- 클래스:SixFinger
- 메서드:sixFinger()
- 상수:SIX_FINGER
- 변수sixFinger
- 생성자:SixFinger()
- 다음의 결과는?(에러 발생시 이유를 쓰세요)
public static void main(String[] args){
byte a = 1;
short b = 2;
short c = a + b;
System.out.println(c);
}
에러가 발생.
서로 다른 자료형 두개가 연산하려면 변수 c 의 short형을 int형으로 써줘야한다.
- 다음의 결과는?(에러 발생시 이유를 쓰세요)
public static void main(String[] args){
int a = 2;
int b = 3;
int c = ++a + b++;
System.out.println(a);
System.out.println(b);
System.out.println("a+b+c="+a+b+c)
}
- 다음의 결과는?(에러 발생시 이유를 쓰세요)
public static void main(Strin[] args){
char a = 'A';
int b = 5;
int c = a + b;
System.out.println(c);
}
자료형이 char 형인 변수 a는 'A' 로 초기화했다. char형은 내부적으로 정수로 처리하기 때문에 A는 65이다.
int c = 65 + 5;
이기 때문에 c는 70
- 다음의 결과는?(에러 발생시 이유를 쓰세요)
public static void main(String[] args){
byte b = 3;
boolean a = b!=3;
System.out.println(!a);
}
//b = 3
// 3!=3 을 해석하면 3은 3이 아니다 즉 false 이다. boolean 형이기 때문에 a = false
// !false 는 true
답은 true
- 다음의 결과는?(에러 발생시 이유를 쓰세요)
public static void main(String[] args){
int a = 2;
int b = 3;
System.out.println(++a==b && --a!=b);
System.out.println(a++==b && --a!=b);
}
- 제어문
종류 | 설명 | 종류 |
분기문 | 특정 상황에 따라 다르게 작동 | if 문 / switch 문 |
반복문 | 특정 구문을 여러번 반복하여 작동 | for 문 / while 문 |
- 다음의 결과는?(에러 발생시 이유를 쓰세요)
public static void main(String[] args){
int a = 3;
if(a--==3 || a==2){
Sytem.out.println("맞습니다");
}else{
System.out.println(틀립니다.);
}//if~else end
}//main() end
- 다음의 결과는?(에러 발생시 이유를 쓰세요)
public static void main(String[] args){
for(int i = 2; i < 12; i++){
if(i/2==3){
System.out.println(i);
}//if end
}//for end
}//main() end
'개발자의 길 > 글로 적는 웹개발' 카테고리의 다른 글
2-4) 글로 적는 웹개발 공부 - 자바(Java) (0) | 2019.09.11 |
---|---|
2-3) 글로 적는 웹개발 공부 - 자바(Java) (0) | 2019.09.10 |
2) 글로 적는 웹개발 공부 - 자바(Java) (0) | 2019.09.08 |
1-4) 글로 적는 웹개발 공부 - 웹표준과 HTML 마크업, CSS, Javascript (0) | 2019.09.07 |
1-3) 글로 적는 웹개발 공부 - 웹표준과 HTML 마크업, CSS (0) | 2019.09.06 |