본문 바로가기
728x90

language/Java6

[Java] Compile과 Decompile (feat. .JAR, .WAR, .class, .java) + JAD 이번 포스트에는 Java 언어의 특징인 Compile과 그의 반댓말인 Decompile, 그리고 관련된 파일형식 및 도구에 대해 정리해보겠습니다. 1. Compile이란? 1) 정의 사람이 이해하는 언어를 컴퓨터가 이해할 수 있는 언어로 바꾸어 주는 과정 컴퓨터는 0과 1로만 모든 명령을 이해하고 실행하기 때문에, 인간의 언어를 기계가 알아 들을 수 있게 바꿔주는 작업이 필요함. Compiler(compile + link) compile: 원시코드에서 목적코드(목적파일)로 바꾸어 주는 것 link : 목적 파일을 실행 파일로 바꾸는 것 원시코드: 인간이 알아볼 수 있는, 우리가 작성한 코드(.java) 목적코드: 컴퓨터가 이해할 수 있도록 번역한 코드(기계어)(.class) 2) compile을 과정이 .. 2023. 2. 17.
[Java] public static void main(String args[]){}란? 이유 자바의 메인 메소드 메인 메소드란 Java로 구현된 프로그램이 시작될 때 가장 먼저 실행되는 메소드 자바의 메인메소드를 작성할 때는 public static void main(String[] args){}구조로 작성 public(접근제어자) public은 접근제어자의 일종 private default protected public *private -> default -> protected -> public 순으로 보다 많은 접근을 허용 public 접근제어자는 어느 클래스에서든 해당 객체를 참조할 수 있다는 뜻 JVM(Java Virtual Machine)이 접근 하기 위해서 public을 사용 다른 접근 제어자를 사용하면 프로그램이 실행되지 않음 하지만 접근제어자를 이용하면 프로그래머의 코딩 실수를 방.. 2022. 9. 5.
[Java] Guava란? Guava를 써야되는 이유 Guava란? -구글이 작성한 자바 오픈소스 라이브러리 -한 유용한 유틸리티 함수와 클래스들을 다양하게 제공한다. Guava를 써야되는 이유 Guava는 유지보수를 위해 필요한 많은 양의 코드를 줄여주고 잠재적으로 생산성을 높여줍니다. 1. 컬렉션 초기화와 유틸리티 2. 제한된 함수형 스타일의 프로그래밍 3. 멀티맵(Multimaps)과 바이맵(Bimaps) 4. 쉬운 해쉬코드와 비교자(Comparators) 5. 방어적 코딩 2021. 5. 9.
캡슐화와 정보은닉 진짜 객체지향은 정보 은닉에서부터 시작된다. 객체지향 언어를 통해서 얻고자 하는 것이 유연성(기능의 확장, 교체, 변경)이라면 정보 은닉은 그것을 가능하게 하는 전략이다. 객체, 상속, 캡슐화 등은 정보 은닉의 수단에 불과하다. 그리고 좋은 정보 은닉은 잘 된 추상화를 통해 얻어진다. 많은 개발자들이 객체지향에 들어서면서 캡슐화를 정보 은닉이라고 배운다. 몇몇 훌륭한 블로그들을 제외하고는 대부분의 블로그들이 정보 은닉 = 캡슐화로 설명하고 있다. 매우 안타까운 일이다. 정보 은닉을 캡슐화로만 알고 있으면 아직 객체지향 입구에도 못들어 온 것이다. 정보 은닉과 관련하여 인터넷을 검색해 본 결과, 정확하게 정보 은닉을 설명한 것은 아래 글 밖에 없었다. http://egloos.zum.com/aeternum.. 2020. 6. 9.
자바의 기본구성2 ※패키지(package) -사전적의미는 상자,포장물 -클래스들을 구분 짓는 폴더와 비슷한 개념 ※패키지 선언의 제약사항 1.소스의 가장 첫 줄에 있어야만 한다. 2.package 선언 위에 주석이나 공백이 있어도 상관 없다. 다른 문장은 하나라도 있으면 오류 3.패키지 선언은 소스 하나에는 하나만 있어야 한다.(한 소스 파일이 두개의 폴더에 한번에 존재할 수 없기 때문에 당연하다.) 4.패키지 이름과 위치한 폴더 이름이 같아야만 한다. 5.패키지 이름을 지정할때 java로 시작 하면 안 된다. 6.패키지 시작 이름에 따른 내용 java: 자바 기본 패키지(Java 벤더에서 개발) javax: 자바 확장 패키지(Java 벤더에서 개발) org: 일반적으로 비 영리단체(오픈 소스)의 패키지 com: 일반적으.. 2020. 3. 2.
자바언어의 기본 구성 ※메소드(method) -어떤 값을 주고 결과를 넘겨주는 것 ex)public boolean checkpassword(String password){ //밑줄 친 부분이 메소드 이름 //중괄호 안의 내용이 메소드 내용 } -'checkpassword 메소드' 라고 부름. ※매개 변수(parameter) -없어도 되고, 몇 개가 와도 상관 없다. ex)public boolean checkpassword(string password){ //밑줄 친 부분이 매개 변수, 앞의 string은 매개변수의 리턴 타입 } ※리턴 타입(return type) -메소드가 리턴 하는 타입을 나타냄 ex)public boolean checkpassword(string password){ //밑줄 친 부분이 리턴타입, bool.. 2020. 2. 28.
728x90