포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 이번에는 자바의 원리에 대해 조금 더 알아보자. 자바는 프로그램 실행 시 메모리 관리를 어떻게 할까? 프로그램 실행 시, 자바의 각 요소들의 메모리 공간은 분리되어 관리된다. 이를 통해 자바는 굉장히 효율적이게 메모리를 관리하여 원활한 프로그램을 구동할 수 있도록 돕는다. 자바의 메모리 관리 영역은 3가지가 있다. 메서드 영역스택 영역힙 영역각 영역에 어떤 요소들이 관리되는지 알아보자. 1. 메서드 영역 : 클래스정보를 보관한다. 클래스 정보에서도 3가지로 나누어볼 수 있다. 1. 실행 코드 : 클래스의 실행코드(바이트코드), 필드, 메서드, 생성자 코드 등 모든 실행코드가 존재한다. 2. static 영역 : 클래스 변수, 즉 ..

포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 자바에는 접근제한자라는 것이 있다. 접근제한자가 무엇일까? 객체 내 요소(필드, 메서드) 혹은 객체 자체에 접근을 제한하기 위해 사용하는 것이다. 그러면 이러한 접근 제한자가 필요한 이유가 무엇일까? 그전에 접근제한자에 대해 설명하기 전에 먼저 캡슐화에 대해 아주 간단히 알아보자 캡슐화(Encapsulation) : 기능, 데이터를 묶어 외부에서의 접근을 제어하는 것 자 그러면 캡슐화랑 접근제한자랑의 무슨 연관이 있는 것일까? 바로 자바의 접근 제한자의 존재로 캡슐화가 완전해지기 때문이다. 어떻게? 예시를 통해 이해해 보자.public class BankAccout { private int balance; // 돈 pu..

포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 자바를 코딩해 본 사람이라면 무조건 접해봤을 오류다. 바로 NullPointerException이다. 이것이 왜 발생하는지 먼저 알아보자 말 그대로 Null + Pointer 널 포인터 예외이다. 근데 포인터는 c 언어에서 나오는 것 아닌가? 맞지만 아니다. 자바에서도 Pointer가 있다. 바로.이다. 아래 예시를 보자 public class Student{ String name; int age;} public class test1 { public static void main(String[] args) { Student st = new Student(); System.out.printl..

포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 오늘은 김영한의 실전 자바 기초 편을 결제하였다. 한 번도 온라인 강의를 돈 주고 사본적이 없는데, 김영한 자바 입문 편을 보고 난 후 강의의 퀄리티가 마음에 들어 결제하였다. 김영한 실전자바 - 기초 편은 44000원으로 부담스럽지 않은 가격이다. 결제 후 강의의 1/5 정도 들은 상태인데, 벌써 굉장히 만족스럽다. 빨리 내용을 습득 후 다음 결제가 기다려질 정도이다. 서론이 길었는데 본론으로 가보자. 자바에서는 변수, 객체 등을 선언할 때, 2가지 형태가 있다. 바로 기본형과 참조형이다. 기본형과 참조형의 차이가 무엇일까? 바로 생성된 변수에 어떠한 값이 들어가는지가 그 차이점이다. 기본형 : int, double, boole..

포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 아래 코드를 보자.public class test1 { static int money = 0; public static void main(String[] args) { inM(2000); outM(1000); } public static void inM(int a){ money += a; System.out.println(a + "원을 입금하였습니다. 현재 잔액 : " + money); } public static void outM(int a){ money -= a; System.out.println(a + "..

포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 자바언어를 사용해 본 사람이라면 아마 모두 Scanner에 대해서 사용해 본 경험이 있을 것이다. 아래 코드 예시를 보자.public static void main(String[] args) { Scanner s = new Scanner(System.in); int a = 0; System.out.print("정수를 입력하세요 : "); a = s.nextInt(); System.out.println("입력받은 정수 : " + a);} 실행 결과 아직은 아무 문제가 없다. 그렇다면 아래 코드는 어떨까?public static void main(String[] args) { Scanner s = ne..
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 자바는 객체지향언어이다. 절차지향언어인 C언어와 다른 점은 모듈(객체)을 구성해 놓고 필요할 때 해당 모듈로 바로 접근해서 사용할 수 있기에 코드를 효율적으로 사용할 수 있다는 장점이 있다. 다만 해당 모듈을 사용하기 위해선 해당 모듈에 대한 인스턴스를 생성을 해야 한다. 인스턴스를 생성하면 해당 객체에 포함되어 있는 변수, 메소드를 그때 사용할 수 있게 된다. 또한 한 개의 객체에 대해 n개의 인스턴스를 생성할 수 있다. 예시 코드class statictest{ static int count1 = 0; // 클래스 변수 int count2 = 0; // 인스턴트 변수}public class staticEx { ..
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 생성자란?자바 생성자에 대해서 알아보자. 생성자는 간단히 메서드라고 생각하면 된다.근데 이제 리턴값이 없고, 접근제한자가 없다. 생성자는 반드시 Class와 이름이 같아야 하며, 객체 호출과 동시에 가장 먼저 실행된다 또한 메소드이기 때문에, 생성자 오버로딩(OverLoading) 도 가능하다. 예시 코드public class Child{ String name ; int age ; Child(){ this("홍길동", 28); } Child(String name){ this(name, 0); } Child(..
- Total
- Today
- Yesterday
- 코딩테스트 준비
- samron
- 프로그래머스 상품을 구매한 회원 비율 구하기
- los 15단계
- 코딩테스트
- 백준 피보나치
- 상속
- 프로그래머스
- 김영한 실전 자바 기본
- lord of sql
- zixem
- 프로그래머스 상품을 구매한 회원 비율 구하기 파이썬
- 상품을 구매한 회원 비율 구하기 파이썬
- samron3
- spring
- 김영한 실전 자바 중급
- 김영한 실전 자바 기초
- static
- 백준 피보나치 수열
- extends
- 기술스택
- 스프링
- 김영한
- java
- 백준
- webhacking.kr
- los 15
- ys.k
- 자바
- Los
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |